【发布时间】:2015-05-11 05:51:14
【问题描述】:
我有一个 SKSpriteNode 可以在游戏中放大和缩小。每次用户点击屏幕时,都会运行以下代码:
[self.sprite removeAllActions];
[self.sprite setScale:1];
SKAction *action = [SKAction scaleBy:scale duration:4];
[self.sprite runAction:action withKey:@"blowup"];
在第一次点击时,它以 4 秒的正常持续时间运行,但是在第二次和所有进一步的点击中,SKAction 以 10 倍的速度运行,这是非常出乎意料的,因为唯一的 SKAction 是在精灵上调用的,没有使用其他持续时间。
有什么想法吗?提前致谢
编辑:
将我的代码更改为 scaleTo 而不是 scaleBy
但是现在我发现,如果用户在 SKAction 动画完成后点击,则会播放预期的动画时间,但如果用户在动画期间点击并尝试停止它,则会发生超快动画。
【问题讨论】:
标签: ios ios8 sprite-kit skspritenode skaction