在没有物理或 SKActions 的情况下使用 SpriteKit
Using SpriteKit Without Physics or SKActions
我想在不使用 SKPhysicsBody 或 SKActions 的情况下移动节点。这是我的
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
let deltaT = currentTime - timeLast
node.position.y += CGFloat(deltaT * 3) //node is an SKShapeNode
timeLast = currentTime
}
节点没有出现在屏幕上。如果我删除此代码,默认位置将设置为屏幕的中心,效果很好。我上面的方法有什么问题?
问题最终是 timeLast
被初始化为 0,所以 currentTime
的值以千为单位,导致节点在调用更新后立即定位在屏幕外
我想在不使用 SKPhysicsBody 或 SKActions 的情况下移动节点。这是我的
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
let deltaT = currentTime - timeLast
node.position.y += CGFloat(deltaT * 3) //node is an SKShapeNode
timeLast = currentTime
}
节点没有出现在屏幕上。如果我删除此代码,默认位置将设置为屏幕的中心,效果很好。我上面的方法有什么问题?
问题最终是 timeLast
被初始化为 0,所以 currentTime
的值以千为单位,导致节点在调用更新后立即定位在屏幕外