学习Unity脚本推荐:Unity3D官网索引
重力感应在手机游戏的开发中非常常见。Unity3D本身集合了重力感应的相关内容。
一个简单的JS脚本示范一下重力感应的使用。
CSDNGravity.js:
//物体的贴图
var round : Texture2D;
//物体在屏幕中显示的X Y坐标
var x = 0;
var y = 0;
//物体屏幕显示的最大 X Y 范围
var cross_x = 0;
var cross_y = 0;
function Start(){
//初始化赋值
cross_x = Screen.width - round.width;
cross_y = Screen.height - round.height;
}
function OnGUI () {
//整体显示 x y z 重力感应的重力分量
GUI.Label(Rect(0,0,480,100),"position is " + Input.acceleration);
//绘制物体
GUI.DrawTexture(Rect(x,y,256,256),round);
}
function Update(){
//根据重力分量修改物体的位置这里乘以30的意思是让物体移动的快一些
x += Input.acceleration.x * 30;
y += -Input.acceleration.y * 30;
//避免物体超出屏幕
if(x < 0){
x = 0;
}else if(x > cross_x){
x = cross_x;
}
if(y < 0){
y = 0;
}else if(y > cross_y){
y = cross_y;
}
}
这里的Input是指Unity中的输入,acceleration便是其重力了,x和y分别代表其重力分量。
创建完毕之后只需要添加纹理图片即可:
CTRL+B创建并且运行,就可以在真机上看到重力感应的效果了。