Objective C: 检测加速度计变化

4
我正在制作一个使用加速度计的x轴的游戏。向左倾斜,小人就向左走,反之亦然。
现在,如果我向左倾斜,他会向左移动,而x值变为负数。当我从左边位置开始向右移动时,他仍然会向左移动,因为x值仍然是负数,只有当该值返回到0并增加后,他才会开始向右移动。
我的问题是,如何在实际进入该象限之前检测到手机正在向右转。比如说,如何让他向右移动,即使该值仍为负数,但正朝着0增加?
1个回答

3

您需要的不是x值,而是x增量

(在每次x变化后,将其与先前的值进行比较,这就是您的方向。然后将x的该值保存为新的比较器)

(非objc)

x是当前X位置,函数的返回值给出了您当前的方向。(请检查我的工作 - 我相信它是正确的,但不会用于导弹制导)

int directionX (int x) {

  static int currPos = 0;
  int currDirection;

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

  return curDirection;

}

我尝试过类似的事情,但它没有起作用。你能否编辑并提供一个示例片段? - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接