我正在开发基于平铺的iOS游戏。对象(UIViews)绘制在图块地图上方,应该逐个图块地四处走动。
我正在使用一个简单的UIView动画来做到这一点:
[UIView animateWithDuration:0.20 delay:0 options:UIViewAnimationOptionCurveLinear animations:^(void) {
// set frame
// set rotation
} completion:^(BOOL finished){
// call method to start animation again
}];
问题在于即使仅动画约5个物体也不顺畅。在每个动画之后有一个非常小的停顿。因为它应该被视为一个动画(而不是瓦片),这是显而易见的。
我需要为每个动作做一些检查(1个动作= 1个平铺),所以我不能只使用一个大动画。检查是独立完成的,应在动画结束前更新数据。所以我认为滞后不是因为这个原因。
还有其他方法可以解决这个问题吗?也许使用Sprite Kit?
答案 0 :(得分:0)
即使我重新编写了动画逻辑,以便动画距离尽可能长,但仍有一些对象仍然非常生涩。 似乎用透明度动画多个UIImageViews并不是一个好主意。
我现在正在使用Sprite Kit,一切顺利,以60fps运行。这不是一个很大的改变,因为Sprite Kit非常类似。