Unity3D培训
美国上市Unity3D培训机构

400-111-8989

热门课程

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

  • 时间:2016-01-14
  • 发布:Unity3D培训
  • 来源:Unity3D教程

我之前看过有人用android写过“摇一摇”效果,今天我用unity3d做出来看看。

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

注:手机的震动效果直接用iPhoneUtils.Vibrate();

[java] view plaincopyprint?

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. }


上一篇:Unity3D 3.5:寻路API教程
下一篇:Unity3D AssetBundle的无缝地图实现

Unity 2017.3新特性:Transform Tool变换工具

Unity机器学习项目实战:3D平衡小球

Mac下配置Unity机器学习代理工具

Unity技术支持团队性能优化经验分享

选择城市和中心
贵州省

广西省

海南省