近期热门
粉丝2
关注 0
获赞 1
unity3d用手摇摇和抖动的代码实现

[U3D] unity3d用手摇摇和抖动的代码实现

 !heats_icon! [复制链接]
7927 5 1 0 12年前 举报
我之前看过有人用android写过“摇一摇”效果,今天我用unity谢谢,都差不多的。没做这个效果之前,我对Input.acceleration的x,y,z值的范围只是[-1,1],也没想过失重和超重,而且一直用眼睛来观察值的变化,结果发现“没变”,后来有个高手提醒我失重和超重,所以我就写了两个函数检测了一下,我用力摇和抖动手机,发现x,y,z值的范围大致都在[-4,4]之间,在这个范围内,你摇的越快值变化的越大,所以我们只用求相对时间里面变化的值大于某一个值就可以达到“摇一摇”的效果了。   注:手机的震动效果直接用iPhoneUtils.Vibrate();
var old_y:float=0;  
var new_y:float;  
var max_y:float=0;  
var min_y:float=0;  
var d_y:float=0;  
function Update () {   
   new_y=Input.acceleration.y;  
   d_y=new_y-old_y;  
   old_y=new_y;  
   if(Input.GetKey(KeyCode.Escape)){  
      Application.Quit();  
   }   
      
}  
var i:int;  
function OnGUI(){   
    GUI.Label(Rect(100,100,100,100),"g:"+Input.acceleration+"d_y:"+d_y);  
    GUI.Label(Rect(100,210,100,100),"i:"+i);  
    if(d_y>2){  
      i++;
      iPhoneUtils.Vibrate(); //手机的震动效果
    }  
}  
复制代码
1
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论5
您需要登录后才可以回帖 登录

谢谢楼主收了,
10年前
回复

使用道具 举报

收了,谢谢楼主
11年前
回复

使用道具 举报

{:soso_e160:}
11年前
回复

使用道具 举报


这个我收了!谢谢楼主!
12年前
回复

使用道具 举报

ycs
这个我收了!谢谢楼主!
12年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器