2016-01-20 9 views
5

Voglio sviluppare un gioco con SpriteKit su piattaforma Apple iOS.Il mio gioco ha una pagina di impostazione che contiene etichetta, pulsante, visualizzazione tabella, ... e una pagina di gioco. Nel mio test , la prima pagina è l'impostazione e quando il giocatore preme "Start", il gioco inizierà. Non so come trasferire alla scena del gioco e non so dove sia il mio problema, forse perché sono nuovo a SpriteKit. La mia pagina delle impostazioni è una pagina iniziale nello storyboard e per impostazione predefinita era connessa a GameViewController e quando premo il pulsante "Start", ottengo l'errore nell'ultima riga e il programma si interrompe. Voglio caricare la mia scena di gioco in una nuova vista, ma ho un problema. Ecco il mio codice:Come trasferire da UIView a SKScene in iOS

-(IBAction)btn_startGame:(id)sender 
{ 
    SKView* skView = (SKView*)self.view; 

    SKScene* obj_gameScene = [MyScene sceneWithSize:skView.bounds.size]; 

    obj_gameScene.scaleMode = SKSceneScaleModeAspectFill; 

    SKTransition *transition = [SKTransition flipVerticalWithDuration:0.5]; 
    [skView presentScene:obj_gameScene]; 

} 

Questo è l'errore:

2016-01-21 06:06:40.201 test_myGame[605:5321] -[UIView presentScene:]: unrecognized selector sent to instance 0x7fd809fcf570 2016-01-21 06:06:40.207 test_myGame[605:5321] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView presentScene:]: unrecognized selector sent to instance 0x7fd809fcf570'

+0

È possibile aggiungere il messaggio di errore? – Stefan

+0

Questo è l'errore: 2016-01-21 06: 06: 40.201 test_myGame [605: 5321] - [UIView presentScene:]: selettore non riconosciuto inviato all'istanza 0x7fd809fcf570 2016-01-21 06: 06: 40.207 test_myGame [605: 5321] *** Terminazione dell'app a causa dell'eccezione non rilevata 'NSInvalidArgumentException', motivo: '- [UIView presentScene:]: selettore non riconosciuto inviato all'istanza 0x7fd809fcf570' –

risposta

3

Bisogna fare in modo che la vista del tuo Gamecontroller è uno SKView invece un UIView.

Puoi effettuare check in storyboard:

selezionare la vista della ViewController (sul lato sinistro) e controllare il tipo (sul lato destro).

enter image description here

Nel mio esempio ho creato un GameMainView classe personalizzata che eredita da SKView.

+0

Grazie Stefan, è tutto! –

Problemi correlati