为啥我的精灵在接触另一个物理物体时会颤抖?
Posted
技术标签:
【中文标题】为啥我的精灵在接触另一个物理物体时会颤抖?【英文标题】:Why is my sprite shaking when touching another physics body?为什么我的精灵在接触另一个物理物体时会颤抖? 【发布时间】:2014-11-11 20:30:03 【问题描述】:我有一个精灵,它的位置由加速度计操纵,如下所示:
-(float)movement
self.accelerometerData = self.motionManager.accelerometerData;
float xAccelerationPosition = 0;
if ((self.accelerometerData.acceleration.x)<-0.1)
xAccelerationPosition = 30 * self.accelerometerData.acceleration.x;
if ((self.accelerometerData.acceleration.x)>0.1)
xAccelerationPosition = 30 * self.accelerometerData.acceleration.x;
return xAccelerationPosition;
-(void)update:(NSTimeInterval)currentTime
if ((self.player.position.x + [self.playerData movement]) < self.frame.size.width &&
(self.player.position.x + [self.playerData movement]) > 0)
[self.player setPosition:CGPointMake((self.player.position.x + [self.playerData movement]), self.player.position.y)];
方法在不同的类中。
我在播放器和场景中也有一个物理体,但是只要 xAccelerationPosition 变得太高,精灵就会在屏幕两侧开始晃动。为什么?
【问题讨论】:
对它有好感吗? .... <.> 他们可能有点太享受他们的时间了 【参考方案1】:用加速度计数据提供玩家身体的速度(或施加脉冲),而不是直接更新玩家的位置,因为这将绕过物理碰撞处理,让它在下一帧中解决与其他身体的任何穿透。
【讨论】:
以上是关于为啥我的精灵在接触另一个物理物体时会颤抖?的主要内容,如果未能解决你的问题,请参考以下文章