ios - 从另一个类将 Sprite 添加到 GameScene

标签 ios swift sprite-kit

我想在我的新文件“Constructor.swift”构造函数类中添加一个新的 Sprite 到我的 GameScene 中。我尝试在 GameViewController 中创建一个 getter,以便获取 GameScene 的当前实例,然后向其中添加 Sprite ,但这不起作用。

结论

如何在另一个类中获取 GameScene 的当前实例,这样我的代码就很容易维护,因为所有 Sprite 都是在构造函数类中构造的。我想防止在“GameScene.sks”文件中出现大量代码行。

最佳答案

您可以使用名为例如的泛型类进行子类化:

class MyDefaultScene: SKScene {
    var sprite1: SKSpriteNode!
    var followTrack: SKAction!
    var followTrackForever: SKAction!
    var clockWise : Bool = false

    func setDefaultPhisics() {
        self.physicsBody!.mass = 0
        self.physicsBody!.friction = 0
        self.physicsBody!.affectedByGravity = false
        self.physicsBody?.linearDamping = 0
        self.physicsBody?.angularDamping = 0
        self.physicsBody?.restitution = 1
        self.physicsBody?.dynamic = false
    }
    ...
}

class GameScene1: MyDefaulScene {
   override func didMoveToView(view: SKView) {
       print("∙ \(NSStringFromClass(self.dynamicType))")
       print("clockwise: \(self.clockWise)")
   }
}

class GameScene2: MyDefaulScene {
   override func didMoveToView(view: SKView) {
       print("∙ \(NSStringFromClass(self.dynamicType))")
       print("clockwise: \(self.clockWise)")
   }
}

关于ios - 从另一个类将 Sprite 添加到 GameScene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37258081/

相关文章:

ios - Swift 按钮框架高度问题 (viewDidLayoutSubviews)

ios - 移动物理体 - didSimulatePhysics 与更新

iphone - UITableView 部分出现不同的单元格颜色

iphone - 有没有一种简单的方法可以让动画超出其目标然后返回?

iphone - 在 ViewController 和 TabBar child 之间传递数据

Swift 代码崩溃且无法正常工作

ios - SpriteKit 中 SKLabelNode 的物理体?

ios - UITableViewCellEditingStyleDelete 颜色为绿色

swift - 如何在知道字符数但不知道字节数的情况下解码 UTF-8?

ios - 模拟器黑屏(viewDidLoad)?