android 重力感应小球 Demo

研究Android重力感应,发现所有的demo都是输出x,y,z的,看的头大,自己做了个控制小球运动的demo,大家可以看看。

 

其实最主要的就是利用accelerometer 加速度传感器输出的X和Y,代码如下:

 

 

[c-sharp]  view plain  copy
  1. public void onSensorChanged(SensorEvent event) {  
  2.             if (!init)  
  3.                 return;  
  4.             float x = event.values[SensorManager.DATA_X]*3;  
  5.             float y = event.values[SensorManager.DATA_Y]*3;  
  6.             float z = event.values[SensorManager.DATA_Z];  
  7. //          tv.setText("sensor X="+x+" Y="+y+" Z="+z);  
  8.             moveTo(-x,y);  
  9.         }  

 这里面乘以3是为了让他滚得更快。

[c-sharp]  view plain  copy
  1. void moveTo(float x, float y) {     
  2.     ballX +=x;  
  3.     ballY +=y;  
  4.       
  5.     if (ballX < 0 ){  
  6.         ballX = 0;  
  7.     }  
  8.       
  9.     if (ballY < 0){  
  10.         ballY = 0;  
  11.     }  
  12.       
  13.     if (ballX > container_width - ball_width){  
  14.         ballX = container_width - ball_width;  
  15.     }  
  16.       
  17.     if (ballY > container_height - ball_height){  
  18.         ballY = container_height - ball_height;  
  19.     }  
  20.       
  21.     ball.moveTo((int)ballX, (int)ballY);  
  22.     Log.v("ball""ball x="+ballX+" ball y="+ballY);  
  23. }   

这里面有简单的边界检测的代码。

 

好了 最好还是下载源码看吧。

 

 

源码上传到:http://download.csdn.net/source/2867602

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值