La mia situazione è che ho un GameMenuScene
e dopo che l'utente ha scelto un livello, voglio presentare lo LevelScene
. Ma io non voglio avere il precedente GameMenuScene
scartato perché il LevelScene
è in realtà un @property
di GameMenuScene
e se l'utente completa il livello deve essere salvato come un @property
di LevelScene
, che il GameMenuScene
dovrebbe essere in grado di accedere dopo che l'utente termina o esce dal livello. Se uso semplicemente lo presentScene:transition
, lo GameMenuScene
viene scartato e le informazioni non possono tornare indietro.Presentare una scena in SpriteKit senza scartare la precedente?
La mia domanda: c'è un modo per impilare o spingere le scene l'una sopra l'altra senza scartare la precedente (preferibilmente utilizzando un'animazione di transizione)? Non sono riuscito a trovare un metodo per questo scopo specifico nella documentazione Apple per SKScene.
Nota: Un'altra risposta StackOverflow a una domanda simile suggerisce di creare un nuovo UIViewController
, di presentare lo LevelScene
e di presentare quindi lo UIViewController
modally. Ma speravo che nella Documentazione di Apple esistesse un metodo che mi mancava per presentare la scena scena stessa in modo modale senza dover creare UIVIewControllers
.
Folletto Kit ha funzionalità di scena push/pop con transizioni, dovrebbe essere facile da estrarre/adattarsi: https://github.com/KoboldKit/KoboldKit/blob/master/KoboldKit/KoboldKitFree/Framework/View/KKView .m Si noti che le scene di "sfondo" non sono attive né disegnate mentre c'è una scena "spinta sopra quella più recente". – LearnCocos2D
Si potrebbe anche provare a configurare un delegato per comunicare le scene avanti e indietro in modo che la seconda scena (la scena di livello) abbia accesso alla scena del menu. Inoltre, tutti gli altri livelli avrebbero lo stesso delegato per poter impostare un singolo metodo nel tuo menu per estrarre le informazioni da ogni livello. – romsearcher