查看: 1364|回复: 1
打印 上一主题 下一主题

[教程] 365新手教程【1】unity3d android的“摇一摇”+震动效果

[复制链接]

4

主题

1

听众

268

积分

设计实习生

Rank: 2

纳金币
62
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2016-5-30 18:23:56 |只看该作者 |倒序浏览

unity3d android的“摇一摇”+震动效果
分类: unity3D初步篇
       我之前看过有人用android写过“摇一摇”效果。没做这个效果之前,我对Input.acceleration的x,y,z值的范围只是[-1,1],也没想过失重和超重,而且一直用眼睛来观察值的变化,结果发现“没变”,后来有个高手提醒我失重和超重,所以我就写了两个函数检测了一下,我用力摇和抖动手机,发现x,y,z值的范围大致都在[-4,4]之间,在这个范围内,你摇的越快值变化的越大,所以我们只用求相对时间里面变化的值大于某一个值就可以达到“摇一摇”的效果了。
   注:手机的震动效果直接用iPhoneUtils.Vibrate();


[java]
1.        var old_y:float=0;   
2.        var new_y:float;   
3.        var max_y:float=0;   
4.        var min_y:float=0;   
5.        var d_y:float=0;   
6.        function Update () {     
7.           new_y=Input.acceleration.y;   
8.           d_y=new_y-old_y;   
9.           old_y=new_y;   
10.           if(Input.GetKey(KeyCode.Escape)){   
11.              Application.Quit();   
12.           }      
13.                
14.        }   
15.        var i:int;   
16.        function OnGUI(){      
17.            GUI.Label(Rect(100,100,100,100),"g:"+Input.acceleration+"d_y:"+d_y);   
18.            GUI.Label(Rect(100,210,100,100),"i:"+i);   
19.            if(d_y>2){   
20.              i++;   
21.              iPhoneUtils.Vibrate(); //手机的震动效果  
22.            }   
23.        }     

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2

主题

0

听众

1056

积分

助理设计师

Rank: 4

纳金币
88
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2016-6-1 20:10:51 |只看该作者
来点VR的开发教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-1-18 07:24 , Processed in 0.064827 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部