2014-02-22 1 views
0

나는 축구와 같은 처벌을하고 있으며, 모바일에서도 공을 움직여야합니다. 지금이 코드를 사용하고 있습니다 :유니티 무브먼트 터치

float moveHorizontal = Input.GetAxis("Horizontal"); 
float moveVertical = Input.GetAxis("Vertical"); 
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); 
rigidbody.AddForce(movement * speed * Time.deltaTime); 

모바일 시스템을 만들려면 어떻게해야합니까?

또한 볼을 제어하는 ​​몇 가지 다른 코드가 있습니다 (볼링과 같이 선을 넘길 때와 같이 1/10 위치 만 변경할 수 있음). 하지만 그들은이 코드를 기반으로합니다 ... 게임 스크립트는 C#입니다 ...

+0

질문이 있습니까? – jparimaa

답변

2

이것을 사용하여 축에서 터치로 전환하는 것은 약간 어려울 것입니다. Touchscript (http://interactivelab.github.io/TouchScript/)와 API가 일반적으로 어떻게 작동하는지 읽는 것이 좋습니다. 당신이해야 할 일은 플레이어가 화면을 터치하고, 그 터치를 캐시하고, 터치하는 동안 첫 터치를 현재 위치와 비교하여 움직임의 방향을 측정하는 것입니다. 이렇게하면 스 와이프 방향을 얻을 수 있습니다. 이 같은

뭔가 당신이 시작 얻을 수 :

public void OnTouchBegin(object sender, TouchEventArgs e){ 
    foreach(TouchPoint point in e.TouchPoints){ 
     firstTouchPosition = new Vector2(point.Position.x, point.Position.y); 
    } 
} 

public void OnTouchContinue(object sender, TouchEventArgs e){ 
    foreach(var point in e.TouchPoints){ 
     secondTouchPosition = new Vector2(point.Position.x, point.Position.y); 
     currentTouchMovement = new Vector2((secondTouchPosition.x - firstTouchPosition.x), 
     (secondTouchPosition.y - firstTouchPosition.y)); 
     currentTouchMovement.Normalize(); 
    } 
} 

public void OnTouchEnd(object sender, TouchEventArgs e){ 
    hasTouchEnded = true; 
} 

그리고 당신은 X 및 Y 축 방향은 터치 입력에 해당 결정하기 위해 일부 사용자 지정 코드가 필요합니다. 또한 화면 좌표와 게임 내 좌표가 상당히 다를 수 있으므로 조심하십시오. 이것은 처음에는 힘들어 보이지만, 어떤 일을 할 때 나쁘지 않다고 약속합니다! 희망이 도움이!

+0

이것은, 음, 하드입니다. 그냥 4 개의 버튼 (w, a, s, d)을 넣고 확인할 수 없습니까? 도와주세요! – Ave

+0

그래, 불행히도 터치 입력은 매우 쉽지는 않지만 불가능하지 않습니다! 버튼을 만들고 방향을 바꾸라고 지시 할 수 있습니다. 체크 아웃 : http://www.youtube.com/watch?v=tEU8rDbMxqM. 터치가 언제 시작되었고 언제 끝 났는지 알 필요가 있습니다.하지만 쉽게 할 수 있습니다 (스 와이프 방향을 훨씬 쉽게 알 수 있습니다). –

+0

답변으로 수락 (및 다운로드 및 YouTube 링크 추가) – Ave