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

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


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


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值