使用 SWIFT 中的参数在另一个 Class 中调用 GameScene

Calling GameScene in another Class with parameter in SWIFT

我很沮丧现在要让它工作 2 个小时!!!

我有两个 classes GameSceneSetup 我想在我的 Setup class 中打印 GameScene 的框架.

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()
   }
}

应该这么简单但是控制台给出了如下答案:

320.0 and -0.0

尝试通过参数将 GameScene 帧信息传递给您的 Setup class,例如:

在您的 GameScene didMove() 函数中:

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

在你的 Setup class:

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