好久没更新博客了,今天来谈谈android小游戏———重力感应,一般在游戏里运用的比较多,比如这类游戏有:神庙逃亡,极品飞车,平衡球,三围重力迷宫,重力赛车等。
首先什么是重力感应,重力感应是指现在手机中常用的一个器件,及加速度传感器。当手机静止时,加速度就是重力,所以一般也叫做重力传感器。这个硬件可以感应加速度的变化,转化为数据提供给系统。还有一种传感器是陀螺仪,检测围绕某轴的旋转动作,是利用有质量的刚体的在做旋转或震动时,如果发生垂直于旋转或震动轴的旋转,因为惯性会产生垂直于旋转或震动轴的柯氏力(G-sensor是加速度力)。陀螺仪必定会分x,y,z轴。两者的区别是前者,内部的测量对象是加速度力;后者,内部测量柯氏力。前者告诉你物体动没动,往哪个方向动了?后者告诉你动起来的物体转了吗?怎么转的,转了多少度? 多轴的的G-Sensor也可以检测到物体切向于竖直方向的转动,但角度判断起来很困难。
那么手机重力感应的原理是什么?(下面)
——通过对力敏感的传感器,感受手机在变换姿势时,重心的变化,使手机光标变化位置从而实现选择的功能。 手机重力感应技术:利用压电效应实现,简单来说是是测量内部一片重物(重物和压电片做成一体)重力正交两个方向的分力大小,来判定水平方向。 手机重力感应指的是手机内置重力摇杆芯片,支持摇晃切换所需的界面和功能,甩歌甩屏,翻转静音,甩动切换视频等,是一种非常具有使用乐趣的功能。
下面看一个简单的小游戏(范例)效果图:APK下载地址:http://download.youkuaiyun.com/detail/liuyang1990i/7448211
代码如下:(下为部分Java代码)
startActivity.java文件
package cn.m15.xys;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class startActivity extends Activity {
Context mContext = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
/**进入游戏世界 - 小球移动**/
Button botton0 = (Button)findViewById(R.id.button0);
botton0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(mContext,SurfaceViewAcitvity.class);