我试图让一个角色在用户触摸时从 A 点移动到 B 点。
我目前正在使用 SKActions(在一个组中)执行此操作。但是,我注意到 SKActions 需要一段时间,所以不会有恒定的移动速度,这是一个交易破坏者。更近的距离会使角色移动得更慢,而远距离会使角色移动得更快。
有没有更好的方法来做到这一点?我正在考虑在场景中使用 -update 方法,但不确定将其与触摸事件联系起来的最佳方法是什么。
有什么建议吗?
最佳答案
您仍然可以使用 SKAction 和分组来执行此操作...
首先,您需要计算两点之间的距离,a^2 + b^2 = c^2
(勾股定理)之类的东西。然后从恒定速度计算出角色应该根据 c^2 移动多快或多慢。
然后只需将该变量发送到您创建的 SKAction
函数即可。这样它是动态的。
-(SKAction*)startActionWithDuration:(NSTimeInterval)timeInterval {
SKAction* action = [SKAction moveToX:1.0 duration:timeInterval];
return action;
}
关于ios - 动画时移动 Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19820768/