当前位置:首页 > 开发 > 移动开发 > 正文

android之重力感应

发表于: 2011-10-12   作者:bearsorry   来源:转载   浏览次数:
摘要:      最近一段时间就在研究这个android手机上重力感应的游戏,现在总算是搞定了,跟大家分享一下吧:      大家应该对重力感应的游戏应该不陌生吧,简单想想也能知道那是一会怎么回事儿!就是通过手机左右晃动而控制游戏中的物体的运动,我们只要知道这个重力感应的监听类在哪里就可以摸索出它的运动方式了!再了解其中界面

     最近一段时间就在研究这个android手机上重力感应的游戏,现在总算是搞定了,跟大家分享一下吧:

     大家应该对重力感应的游戏应该不陌生吧,简单想想也能知道那是一会怎么回事儿!就是通过手机左右晃动而控制游戏中的物体的运动,我们只要知道这个重力感应的监听类在哪里就可以摸索出它的运动方式了!再了解其中界面的切换是怎样交互的,还有图片是怎么样绘制上去的就OK了!

     重力感应的类就是在android.hardware包下面的Sensor,SensorEvent,SensorEventListener这三个类!

     界面的监听和图片的绘制就要用到android.view.SurfaceHolder;android.view.SurfaceHolder.Callback;android.view.SurfaceView···等等。

     背景音乐的添加用到这个类就行了android.media.MediaPlayer;

    这里就将一个小小的重力感应的测试放上来看看吧:

重力感应测试 写道
public class SensorActivity extends Activity {
//感应器管理器
private SensorManager sensorMgr;
//得到加速感应器
Sensor sensor;
//定义各坐标轴上的重力加速度
private float x, y, z;
//创建activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//得到当前手机传感器管理对象
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
//加速重力感应对象
sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
//实例化一个监听器
SensorEventListener lsn = new SensorEventListener() {
//实现接口的方法
public void onSensorChanged(SensorEvent e) {
//得到各轴上的重力加速度
x = e.values[SensorManager.DATA_X];
y = e.values[SensorManager.DATA_Y];
z = e.values[SensorManager.DATA_Z];
//在标题处显示出来
setTitle("X轴上的重力加速度为:"+x+","+"Y轴上的重力加速度为:"
+y+","+"Z轴上的重力加速度为:"+z);

}
public void onAccuracyChanged(Sensor s, int accuracy){}
};
//注册listener,第三个参数是检测的精确度
sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);

}
}

 

后面就是我的重力感应的游戏了!

android之重力感应

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是
android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下方为原点,
android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下方为原点,
android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下方为原点,
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是
由于重力感应是与手机硬件相关的,所以测试起来比较麻烦,有木有办法在模拟器上模拟测试呢?这也是本
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是
由于重力感应是与手机硬件相关的,所以测试起来比较麻烦,有木有办法在模拟器上模拟测试呢?这也是本
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号