13

我正在开发一款游戏,我需要同步两个玩家对象控制机制:一个是屏幕触摸控制器,第二个是 G-Sensor。屏幕控制器必须以秒为单位初始化,所以我需要知道秒的SENSOR_DELAY_GAME含义。提前致谢。

4

2 回答 2

33

取自http://developer.android.com/guide/topics/sensors/sensors_overview.html

默认数据延迟适用于监控典型的屏幕方向变化,并使用 200,000 微秒的延迟。您可以指定其他数据延迟,例如SENSOR_DELAY_GAME(20,000 微秒延迟)SENSOR_DELAY_UI(60,000 微秒延迟)SENSOR_DELAY_FASTEST(0 微秒延迟)。从 Android 3.0(API 级别 11)开始,您还可以将延迟指定为绝对值(以微秒为单位)。

您指定的延迟只是建议的延迟。Android 系统和其他应用程序可以更改此延迟。作为最佳实践,您应该尽可能指定最大延迟,因为系统通常使用比您指定的延迟更小的延迟(也就是说,您应该选择仍能满足应用程序需求的最慢采样率)。使用更大的延迟会降低处理器的负载,因此使用更少的功率。

于 2012-11-20T04:33:06.160 回答
4

我认为您的问题没有明确的答案,这意味着这取决于设备。除此之外,请记住,即使您为传感器定义了一定的延迟,传感器管理器返回的结果也可能比您指定的更快或更慢。对于您的情况,我认为最好的方法是在您的传感器运行一定时间后取两次连续轮询之间的平均时间(以秒为单位),用SENSOR_DELAY_GAME标志初始化,然后将该时间传递给您的屏幕控制器初始化。

于 2012-07-27T10:10:57.010 回答