【发布时间】:2016-12-05 07:50:17
【问题描述】:
*我搜索了大多数地方,但找不到我的问题的“基本解决方案”
您好,我正在尝试创建一个简单的 SKSpriteNode,它将随着我的手指在屏幕上的任意位置移动(x 和 y 坐标)。到目前为止,我所做的是下面的代码,我似乎无法弄清楚其他的事情,因为当游戏运行时我的 Sprite 甚至不会移动。我在以下位置也遇到错误:
simpleS = self.childNode(withName: "simpleS") as! SKSpriteNode
这行代码导致我的程序在我添加后无法运行。请并感谢您的帮助。
在这种情况下,Sprite "simpleS" 是我尝试在触摸开始时移动的 Sprite。
代码从这里开始:
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var simpleS = SKSpriteNode()
override func didMove(to view: SKView) {
simpleS = self.childNode(withName: "simpleS") as! SKSpriteNode
simpleS.physicsBody?.affectedByGravity = true
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
simpleS.run(SKAction.moveTo(x: location.x, duration: 0.0))
simpleS.run(SKAction.moveTo(y: location.y, duration: 0.0))
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
simpleS.run(SKAction.moveTo(x: location.x, duration: 0.0))
simpleS.run(SKAction.moveTo(y: location.y, duration: 0.0))
}
}
}
【问题讨论】:
-
这段代码有几个问题。尝试按照这样的指南来更快地使用 SpriteKit; raywenderlich.com/49721/….
标签: swift sprite-kit