手机版
你好,游客 登录 注册
背景:
阅读新闻

Unity3D Android的“摇一摇”效果

[日期:2012-05-26] 来源:Linux社区  作者:dlnuchunge [字体: ]

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

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

更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11

linux
相关资讯       Android编程入门 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款