Così, ho iniziato a lavorare su un progetto in SpriteKit, e spero di essere in grado di implementare una scena del "menu principale" con alcuni pulsanti. Uno andrebbe ad uno schermo di selezione del livello, uno sarebbe opzioni, ecc. Poi dalla schermata di selezione del livello, ci sarebbero molti altri pulsanti che, se selezionati, avvieranno il gioco e caricheranno il livello selezionato.iOS 7 SpriteKit - Creazione di menu/pulsanti di gioco (Scene vs più controller di visualizzazione)
La mia domanda è questa: come deve essere impostato il progetto? Ogni schermo (selezione del livello, menu principale, opzioni) dovrebbe essere la propria scena e avere un controller di visualizzazione principale? O dovrei avere più controller di visualizzazione per tutto? O forse un controller di visualizzazione per ogni livello (anche se questo non ha molto senso) che è governato da un NavigationController nello storyboard?
Dopo aver giocato un po 'e aver letto online, ho notato che posso usare il controller di visualizzazione per avere UIButtons per il mio menu principale. Tuttavia, persistono attraverso le modifiche alla scena dello sprite kit, che non è qualcosa che vorrei. Ciò significherebbe che dovrei impostare i pulsanti per essere nascosti su ogni nuova scena visualizzata, il che mi preoccupa perché non sono sicuro di cosa succede esattamente ai pulsanti. So che è possibile creare pulsanti da SKSpriteNodes (simile alla classe che Graf ha pubblicato e molte persone hanno utilizzato). È l'opzione migliore? Invece di usare UIButtons sul VC, sarei verificare se un tocco è stato fatto per quel nodo pulsante nel metodo e il metodo touchedBegan touchesEnded, qualcosa di simile:
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
if ([node.name isEqualToString:@"scene button"])
{
LevelScene *scene = [LevelScene sceneWithSize:self.view.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[self.view presentScene:scene];
}
E 'questo il modo corretto di gestire la cosa?
Eventualmente, voglio essere in grado di aggiungere schermate di pausa, schermate di gioco, ecc., E non sono sicuro se sarà sufficiente scambiare le scene. Inoltre, invece di avere un'implementazione separata per ogni livello, potrei caricarli da un file .plist
Sto anche considerando il fatto se sarò in grado di animare i pulsanti. Suppongo che vorrei che fluttuassero o diventassero più grandi quando selezionati (quando l'utente lo ha toccato ma non lo lasciano andare), e credo che un UIButton non lo permetterebbe poiché non è un SKSpriteNode.
Ci scusiamo per un post così lungo, ma spero che fornisca informazioni sufficienti per aiutarmi e portarmi sulla strada giusta! Grazie!