【发布时间】:2014-12-12 23:05:53
【问题描述】:
我正在构建一个基于 MegaJump 之类的跳线游戏。我尝试使用以下代码为播放器左右旋转动画(不是 zRotation)设置动画:
// HANDLE ACCELEROMETER L&R
if(_xAcceleration < -kAccelerationDeadZone && (_currentPlayerHeading == PlayerHeadingUp || _currentPlayerHeading == PlayerHeadingUpRight )){
_currentPlayerHeading = PlayerHeadingUpLeft;
[_player runAction:_playerAnimationHeadUpLeft];
}
else if (_xAcceleration > kAccelerationDeadZone && (_currentPlayerHeading == PlayerHeadingUp || _currentPlayerHeading == PlayerHeadingUpLeft )) {
_currentPlayerHeading = PlayerHeadingUpRight;
[_player runAction:_playerAnimationHeadUpRight];
}
左右动画分别由 3-4 帧构建而成。问题是它不会对加速度计的变化做出平滑的响应,我注意到在 MegaJump 等游戏中,动画非常流畅,就好像它逐帧响应每个加速度计的变化(尽管那里的动画也是从 3每侧旋转 -4 帧)
有什么方法可以让它更流畅地工作,也许可以响应加速度计的微小变化来显示动画的不同帧?
【问题讨论】:
-
您所说的“它不会对加速度计变化做出平滑响应”是什么意思。运行动画的时间是否比预期的要长,还是动画不流畅?
-
在运行纹理动画时,您可以定义每帧显示的持续时间,当您将其绑定到加速度计时,它会运行得很快,或者如果我使用容差,它看起来像是损坏的动画
标签: animation ios7 sprite-kit