1

我正在用 Xcode 和 swift 编写一个应用程序。我正在使用SpriteKit 的 SKScene。我遇到了一个非常有趣的错误。我有一个类Level1,在它里面,我有touchesEnded方法,它可以工作大约 2 次点击,然后它就停止了。我有一个简单print("hello world")的,它打印两次,然后停止。我真的不知道为这个错误附加什么,所以我附加了方法和超类方法

import SpriteKit

class Level1: LevelBase {

    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesEnded(touches, with: event)
        print("Hello world")
    }
}

import SpriteKit

class LevelBase: SKScene, SKPhysicsContactDelegate {

      override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        for touch in touches {
            let location = touch.location(in: self)

            for node in nodes(at: location) {
                if node.name == "planet" {
                    moveAroundPlanet(planet: node as! SKSpriteNode)
                }
            }
        }
    }
}

我正在Level1使用这个从另一个场景添加

var scene = SKScene()
scene = Level1(fileNamed: "Level1")!
scene.scaleMode = .aspectFill
self.scene?.view?.presentScene(scene)

让我知道是否需要任何其他代码

4

0 回答 0