unity 3d android의 흔들기 + 진동 효과

1069 단어 Unity3D 초편
전에 어떤 사람이 안드로이드로'흔들어'효과를 쓴 것을 봤는데 오늘은 유닛으로 할게요. 고마워요. 별로 차이가 없어요.이 효과를 내기 전에 나는 Input.Acceleration의 x, y,z값의 범위는 [-1,1]에 불과하고 무게 감소와 중량을 초과할 생각도 하지 않았다. 그리고 계속 눈으로 값의 변화를 관찰한 결과'변하지 않았다'는 것을 발견했다. 나중에 어떤 고수가 나에게 무게 감소와 중량 초과를 일깨워 주었다. 그래서 나는 두 가지 함수를 써서 측정했다. 나는 핸드폰을 힘껏 흔들고 흔들었다. x, y,z값의 범위는 대체로 [-4,4] 사이인 것을 발견했다. 이 범위 안에서네가 빨리 흔들수록 값이 크게 변하기 때문에 우리는 상대적인 시간 안에 변화하는 값이 어떤 값보다 크면 흔들어 움직이는 효과에 도달할 수 있다.
주: 휴대전화의 진동 효과는 아이폰Utils를 직접 사용한다.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(); //       
    }  
}  

좋은 웹페이지 즐겨찾기