我想移动节点而不使用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的值以千为单位,导致在调用更新后立即将节点置于屏幕之外。

关于swift - 在没有物理或SKAction的情况下使用SpriteKit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37039411/

10-11 16:14