我正在开发一款Android游戏,它使用方向传感器来获得设备的旋转(滚球)。我有两个用来测试应用程序的设备,一个是三星Infuse (手机),另一个是华硕Eee Pad Transformer TF101 (平板电脑)。
这款应用在两款设备上都能正常运行。问题是在Eee Pad上,无论我做什么,方向都是用设备横向(横向模式)测量的,而Infuse是直立(纵向)测量的。这使得当我向左倾斜Infuse时,球会向左移动,但当我向左倾斜眼垫时,球会向上或向下移动。
我可以改变方向角度,这样他们就可以将球移动到另一个方向,但它一次只对一个或另一个有效。你知道我怎么才能解决这个问题吗?
是的,我使用的是过时的TYPE_ORIENTATION,而不是getOrientation()方法。我试过设置它,但我从来没有让它正常工作过,而且它总是输出非常奇怪的值,所以我坚持使用被弃用的那个。切换就能解决这个问题吗?如果是这样,是否有人可以将我链接到实现此功能的资源?
发布于 2012-05-16 08:20:17
谷歌的文档清楚地表明,sensor coordinate system是相对于设备的默认方向的。该描述提到了可用于适当调整的getRotation()和remapCoordinateSystem()调用。
https://stackoverflow.com/questions/10610362
复制相似问题