目标C:检测加速度计的变化

时间:2011-07-06 15:41:19

标签: iphone objective-c ios accelerometer

我正在制作一款使用加速度计x轴的游戏。向左倾斜,小家伙向左走,反之亦然。

现在,如果我向左倾斜,他将向左移动,x值变为负值。当我开始向右移动(从左侧位置)时,他仍然会离开,因为x值仍为负值,并且他只会在值返回0后才开始向右然后增加。

我的问题是,如果手机实际上在象限(?)之前如何检测到手机正在向右转。就像,我如何让他向右移动,即使价值仍为负值,但是朝着0增加?

1 个答案:

答案 0 :(得分:3)

你不想要x值,你想要x delta

(在x中的每次更改之后,将其与之前的值进行比较,这是您的方向。然后将x的值保存为新的比较器)

(不是objc)

x是当前的X位置,函数的返回值为您提供当前的方向。 (请检查我的工作 - 我认为这是正确的,但不会将其用于导航指导)

int directionX (int x) {

  static int currPos = 0;
  int currDirection;

  curDirection = currPos + x;
  currPos = currPos + curDirection;

  return curDirection;

}