Ci sono un paio di modi per fare quello che vuoi. Ti darò alcuni suggerimenti e suggerimenti per creare il codice adatto al tuo gioco.
Ricordare innanzitutto che MyScene è un SKScene che viene chiamato per impostazione predefinita dal controller di visualizzazione in un modello di progetto SpriteKit. Quindi puoi creare tutte le classi SKScene che vuoi avere i livelli. Ogni classe SKScene può essere di un livello.
Puoi trasformare il tuo primo SKScene, MyScene, nel tuo menu principale e aggiungere l'elenco di livelli che l'utente può selezionare qui. Per raggiungere un livello selezionato dal menu principale (myscene) è possibile utilizzare qualcosa di simile:
SKScene *gameLevel1 = [[Level1 alloc] initWithSize:self.size];
SKTransition *reveal = [SKTransition doorsOpenVerticalWithDuration:1.0];
[self.view presentScene:gameLevel1 transition:reveal];
Level1 sarebbe il nome della classe SKScene per il primo livello. Ci sono anche una serie di grandi transizioni tra cui scegliere. Puoi anche includere una proprietà scaleMode in base alle tue esigenze.
Come già spiegato da LearnCocos2D, è possibile utilizzare un array o un dizionario per memorizzare i dati del lettore, quali elementi, stato e livelli raggiunti. A meno che tu non abbia una grande quantità di dati che devi salvare, NSUserDefaults è la tua migliore opzione. Ecco un esempio su come archiviare i dati con NSUserDefaults:
NSString *valueToSave = @"Level 5";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"levelReached"]
[[NSUserDefaults standardUserDefaults]synchronize];
Per leggere un valore memorizzato in NSUserDefaults si può fare questo:
NSString *highLevel = [[NSUserDefaults standardUserDefaults] stringForKey:@"levelReached"];
Puoi inserire nuovi dati a NSUserDefaults in qualsiasi momento. Quindi, se il giocatore ha appena terminato un livello, scriverlo su NSUserDefaults.
Sei completamente perplesso su questo o hai provato alcune soluzioni possibili? – sangony
@sangony completamente stordito, ho provato a giocarci ma niente sembra funzionare, dovrei avvicinarmi in modo diverso? è una BOOL la cosa sbagliata da usare? – user3576196
Potresti ottenere risposte migliori se mostri qualcosa che hai provato e spieghi perché non funziona come ti aspetti. –