我们为什么要实现动作的感应效果那,这个主要是用再了
android的游戏里,有了这个效果,就会让我们的玩家的视觉感非常的好。那我们就快来看看是怎么实现
android动作感应的吧。
1.发现 Android提供了 SensorListener接口
2.要使用还得有个动作感应管理器 SensorManager
Java代码:
3.注册我们获得的
SensorManager
Java代码:
如果注册
SensorManager不成功就调用
Java代码:
4.
SensorListener必须实现两个方法
Java代码:
5.自己定义一个
3D的坐标
Java代码:
在方法
onSensorChanged中这样课可以获得数据
Java代码:
下面就是判断这个
speed大于自己定义的一个数值时,进行处理
Java代码:
就这样最基本的实现了动作感应,但是大家肯定能感觉得到这个方法的不足之处
1.发现 Android提供了 SensorListener接口
2.要使用还得有个动作感应管理器 SensorManager
Java代码:
- //取得SensorManager
- SensorManager sensorMgr = (SensorManager)getSystemService(SENSOR_SERVICE);
Java代码:
- //返回true表示注册成功,flase则反之
- sensorMgr.registerListene(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);
Java代码:
- sensorMgr.unregisterListener(this,SensorManager.SENSOR_ACCELEROMETER);
Java代码:
- public void onAccuracyChanged(int arg0, int arg1) {}
- public void onSensorChanged(int sensor, float[] values) {}
Java代码:
- class Pos3D
- {
- float x;
- float y;
- float z;
- }
- Pos3D cur,last;
Java代码:
- cur.x = values[SensorManager.DATA_X];
- cur.y = values[SensorManager.DATA_Y];
- cur.z = values[SensorManager.DATA_Z];
- float speed = Math.abs((cur.x+cur.y+cur.z)-(last.x+last.y+last.z))/ 间隔的时间
Java代码:
- if(speed > 1000)
- {
- //这里来进行处理
- }