展会信息港展会大全

Android重力感应
来源:互联网   发布日期:2016-01-14 11:25:09   浏览:2170次  

导读:最近一段时间就在研究这个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);

}

}

赞助本站

人工智能实验室

相关热词: 重力 感应

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港