3

我正在开发一个 Android 游戏,它使用方向传感器来获取设备的旋转(滚动球)。我有两台设备用于测试应用程序,一台是三星 Infuse(手机),另一台是华硕 Eee Pad Transformer TF101(平板电脑)。

该应用程序在两台设备上都以横向方式运行。问题在于,在 Eee Pad 上,无论我做什么,设备都是在横向(横向模式)测量方向,而 Infuse 以竖直(纵向)测量。这使得当我向左倾斜 Infuse 时球会向左移动,但是当我向左倾斜 Eee Pad 时,球会向上或向下移动。

我可以切换方向角度,所以它们会以另一种方式移动球,但它一次只能用于一个或另一个。有什么想法可以解决这个问题吗?

是的,我使用的是已弃用的 TYPE_ORIENTATION,而不是 getOrientation() 方法。我尝试设置它,但我从来没有让它正常工作,而且它总是吐出非常奇怪的值,所以我坚持使用已弃用的值。切换会解决这个问题吗?如果是这样,有人可以将我链接到资源来实现这一点吗?

4

1 回答 1

4

谷歌的文档清楚地表明传感器坐标系是相对于设备的默认方向的。该描述提到了getRotation()remapCoordinateSystem()调用,您可以使用它们进行适当调整。

于 2012-05-16T00:20:16.583 回答