2017-10-14 11 views
0

Je suis tellement frustré d'essayer de faire fonctionner ça pendant 2 heures maintenant !!!Appel de GameScene dans une autre classe avec paramètre dans SWIFT

J'ai deux classes GameScene et Setup et je veux imprimer le cadre de GameScene dans ma classe Setup.

class Setup { 

    static var gameScene = GameScene() 
    static func whatsFrame() { 
     print("\(gameScene.frame.maxX)") 
} 


class GameScene: SKScene { 

    override func didMove(to view: SKView) { 
     print("\(self.frame.maxX)") 
     Setup.whatsFrame() 
    } 
} 

Il devrait être si simple, mais la console donne suite à la réponse:

320.0 and -0.0 

Répondre

1

Essayez de passer GameScene cadre des informations via des paramètres à votre classe Setup comme:

Dans votre GameScenedidMove() fonction:

 Setup.whatsFrame(frameOfGameSceneMaxX: self.frame.maxX, 
          frameOfGameSceneMinX: self.frame.minX) 

Et dans votre Setup classe:

static func whatsFrame(frameOfGameSceneMaxX: CGFloat, frameOfGameSceneMinX: CGFloat) { 
     print("\(frameOfGameSceneMaxX)") 
     print("\(frameOfGameSceneMinX)") 
} 
+0

oh homme, merci travaux !!! Je vois ce que j'ai fait de mal! –