Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LibGDX-检查罗盘是否需要校准_Libgdx_Compass Geolocation_Calibration - Fatal编程技术网

LibGDX-检查罗盘是否需要校准

LibGDX-检查罗盘是否需要校准,libgdx,compass-geolocation,calibration,Libgdx,Compass Geolocation,Calibration,如何检查指南针是否在LibGDX(Android上)中校准良好。我发现了如何在本机Android上实现这一点: 但是找不到这是否在LibGDX中实现 维基文章中描述了您想要的内容。LibGDX没有任何功能,因为它不常见,对于其他后端也没有任何意义 在core模块中,您将看到如下内容: 公共接口GameListener{ 无效校准比较需要() } 公共类应用程序扩展ApplicationAdapter{ 私人游戏监听器; 公共应用程序(GameListener侦听器){ this.listene

如何检查指南针是否在LibGDX(Android上)中校准良好。我发现了如何在本机Android上实现这一点:


但是找不到这是否在LibGDX中实现

维基文章中描述了您想要的内容。LibGDX没有任何功能,因为它不常见,对于其他后端也没有任何意义

core
模块中,您将看到如下内容:

公共接口GameListener{
无效校准比较需要()
}
公共类应用程序扩展ApplicationAdapter{
私人游戏监听器;
公共应用程序(GameListener侦听器){
this.listener=listener;
}
@凌驾
公共void create(){
//在需要时调用listener.calibleCompassiFneed()。
}
公司变更的公共作废(浮动[]值){
//做点什么。。。
}
}
在安卓模块中:

公共类AndroidLauncher扩展AndroidApplication实现GameListener、SensorEventListener{
私有静态最终整数罗盘精度未知=-1;
私人应用程序;
private int Compassaccurcy=指南针精度未知;
@凌驾
创建时的公共void(捆绑状态){
super.onCreate(state);
SensorManager SensorManager=(SensorManager)getSystemService(Context.SENSOR\u服务);
传感器compassSensor=sensorManager.getDefaultSensor(传感器类型\u磁场);
sensorManager.registerListener(这个,compassSensor,sensorManager.SENSOR\u DELAY\u游戏)
AndroidApplicationConfiguration配置=新的AndroidApplicationConfiguration();
app=新应用程序(本);
初始化(应用程序,配置);
}
@凌驾
公共作废校准比较需要(){
if(compassAccuracy!=罗盘精度未知和compassAccuracy<传感器状态精度中){
//仅当精度低于中等时进行校准。
//显示所需内容,以便用户校准指南针。
}
}
@凌驾
传感器更改时的公共无效(传感器事件){
if(event.sensor.getType()==sensor.TYPE\u磁场){
应用程序onCompassChanged(事件值);
}
}
@凌驾
精度更改时的公共无效(传感器,int精度){
一致性=准确性;
}
}
我从未尝试过,也从未使用过指南针,但我很确定这会很好。

如果指南针读数是“常见的,对其他平台有意义”,那么也应该检查同一指南针是否校准良好。