这是一个非常开放的问题。
我们使用Andengine为Android开发了一款游戏。僵尸来找你,他们“抓住”你,并且要把它们甩掉,你必须移动设备。在几个设备中存在一个错误,其中一个人无法通过移动设备来摇动僵尸。我们无法在我们测试游戏的设备上复制此错误。
所以我的问题是:硬件是否有可能与某些Android功能完全兼容?我的意思是那里有大量的Android设备。
我问这个问题是为了更好地了解如何继续。我们是否应该进一步挖掘编程(正如我们一直在做的那样,未成功)或实施一种不同的方式来撼动僵尸(没有加速度计)。
提前致谢
如果有人想要更好地了解这个错误,那就是游戏 https://play.google.com/store/apps/details?id=com.exmgames.cfdesperationlite
答案 0 :(得分:1)
问题可能是使用Accelerometer的频率。注册时不要在android常量下面使用。
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
这些值对于不同的设备是不同的。 即例如:SENSOR_DELAY_UI在一个设备中给出100Hz,在另一个设备中给出50Hz,在另一个设备中给出125Hz。 始终使用硬编码频率。
int SENSOR_DELAY_FASTEST get sensor data as fast as possible
int SENSOR_DELAY_GAME rate suitable for games
int SENSOR_DELAY_NORMAL rate (default) suitable for screen orientation changes
int SENSOR_DELAY_UI rate suitable for the user interface
使用硬编码值,以微秒为单位,如频率1 Hz
mSensorManager.registerListener(this, mAccelerometer,1000000);
希望它能解决。