Unity 收藏本版 已有9人收藏 +发表新主题
查看: 31351|回复: 1
打印 上一主题 下一主题

[分享] Unity的手机重力感应系统

[复制链接]

[分享] Unity的手机重力感应系统

Skyman 发表于 2013-6-29 17:24:57 浏览:  31351 回复:  1 只看该作者 复制链接
啦啦啦,现在来跟大家分享一下手机上面的重力感应系统的代码!

2D的重力大家赶快去膜拜一下雨松MOMO网上面的教程(http://blog.csdn.net/xys289187120/article/details/6969333

那么今天我就简单说说3D的重力感应,其实这个和2D一样,还是用到妖娆的Input.acceleration;

但是你要注意了,在3D的重力感应世界中,我们要把世界坐标转化成屏幕坐标,因此这个方法就是WorldToScreenPoint,再用屏幕坐标进行计算,最后再转化成世界坐标就行。下面我们看看代码吧。

var target:Transform;  
function Update(){  
     var screenpos=Camera.main.WorldToScreenPoint(target.position);  
     screenpos.y+=Input.acceleration.x*100*Time.deltaTime;  
     screenpos.x -=Input.acceleration.y*100*Time.deltaTime;  
     target.position=Camera.main.ScreenToWorldPoint(screenpos);   
}  
function OnGUI(){  
   GUI.Label(Rect(Screen.width/2,Screen.height/2,100,100),""+Input.acceleration);  
}  
      我这里的screenpos.y+=Input.acceleration.x*100*Time.deltaTime; screenpos.x -=Input.acceleration.y*100*Time.deltaTime;这些x,y到时候根据你的效果来更改吧。

开发就是这么简单~
分享至:
| 人收藏
回复

使用道具 举报

该用户从未签到

沙发
777 发表于 2014-4-5 21:07:20 只看该作者
呵呵天总貌似很牛B的感觉
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

超级版主

Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.