Domanda

Usando cocos2d per lo sviluppo di giochi per iPhone, sono confuso tra Layer e Scene. Ad esempio, Il mio gioco semplice ha diverse pagine di interfaccia utente " come menu principale, punteggi migliori, tabellone di gioco ecc.

Quindi dovrei usare Layer o Scene per ogni " UI page " ;, e perché?

È stato utile?

Soluzione

Esaminando SpritesDemo.m / .h, sembrerebbe che stiano usando Layer, quindi creino nuove scene, allegando il layer e quindi sostituendo la scena sul regista

@interface SpriteDemo : Layer
@interface SpriteManual : SpriteDemo

Il codice quindi procede come segue:

-(void)nextCallback:(id)sender {
  Scene *s = [Scene node];
  [s add: [nextAction() node]];
  [[Director sharedDirector] replaceScene s];
}

Quindi, in breve, la risposta alla tua domanda sarebbe "entrambe", usi Layer per rappresentare la tua "UI Page" effettiva, ma allega il Layer a una nuova scena e sostituisci la scena corrente nel regista .

Altri suggerimenti

È facile:

Hanno un CCLayer in quegli esempi e un metodo + scene che crea una nuova scena e allega il layer su di essa. Perché un layer non è una pagina "UI" " come lo hai chiamato tu. Una scena è una "Pagina UI" &

Su entrambi (scena e livello) puoi aggiungere più livelli come bambini. Quindi puoi impilare tutti i livelli che desideri. Questo è in realtà un buon modo per abilitare il multitouch - creando un livello per ciascuno dei tuoi oggetti e abilitando tocchi su quei livelli. In conclusione, il modo in cui lo hanno fatto è giusto, quindi dovresti lavorare troppo con i livelli e usare quel metodo + scena per collegare il livello principale alla scena.

Spero che questo aiuti. Mi scusi per il mio inglese. Non nativo.

Non hai davvero bisogno di usare un Livello a meno che tu non stia ricevendo una sorta di input touch (perché è l'unica classe in Cocos2D che implementa TouchEventsDelegate). Le demo funzionano bene se inserisci il loro codice direttamente sulla scena senza il livello, per quanto posso dire che lo hanno fatto solo per dimostrare altre funzionalità di Cocos2D (aggiunta di bambini, impostazione delle posizioni, ecc.).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top