【发布时间】: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 变得太高,精灵就会在屏幕两侧开始晃动。为什么?
【问题讨论】:
-
对它有好感吗? .... <.>
-
他们可能有点太享受他们的时间了
标签: ios objective-c sprite-kit physics