[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应

学习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分别代表其重力分量。

创建完毕之后只需要添加纹理图片即可:

[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应_第1张图片

CTRL+B创建并且运行,就可以在真机上看到重力感应的效果了。


你可能感兴趣的:([Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应)