unity3d android的“摇一摇”+震动效果

我之前看过有人用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(); //手机的震动效果 } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值