SKAction持续时间:0不起作用 - SpriteKit(语言:Swift)

时间:2015-07-12 13:43:46

标签: ios swift sprite-kit 2d-games skaction

我试图通过每0.15秒更换2张图片来制作一个相当简单的运行动画,并且当它有正在运行的图像时稍微向上移动角色,当它有另一个时稍微向下移动。如果我有0.5秒的持续时间,甚至0.1,它会正常工作,但是当我将它改为0,甚至0.0001时,角色根本不会移动。 (图像更改正常)

let movingUp = SKAction.moveTo(CGPoint(x: self.position.x, y: self.position.y + 10), duration: 0)
let waiting = SKAction.waitForDuration(0.15)

let movingDown = SKAction.moveTo(CGPoint(x: self.position.x, y: self.position.y - 10), duration: 0)

let movingSequence = SKAction.sequence([movingUp, waiting, movingDown])
self.runAction(SKAction.repeatActionForever(movingSequence))

let animateAction = SKAction.animateWithTextures(runningTexturesArray, timePerFrame: 0.15)
let repeatAction = SKAction.repeatActionForever(animateAction)

self.runAction(repeatAction)

我也试过moveBy,得到了同样的结果。我需要提一下,当我将持续时间设置为0.1时,我得到了一个奇怪的行为,让角色上下颤抖(比它应该更快)。它应用了物理体,因为我想稍后使用碰撞检测,但我已将affectedByGravity设置为false。我在想,也许物理世界会有某种空气,它可以阻止角色在“真空”中自由移动。它可以做到这一点。

提前感谢您的回答。我真的很感激!

0 个答案:

没有答案