2014-09-18 1 views
0

그래서 나는 TAP을 탐지하는 스크립트를 가지고 있으며, 충돌 한 atider를 가진 2D 오브젝트를 탭할 때 어떤 일을합니다. 나의 문제는 3 개의 개별 오브젝트와 내가 그들 중 하나를 클릭하면 그들 모두가 같은 스크립트를 가지고 있고 11 개의 객체를 가지고 있고 그 중 하나의 동일한 씬에서 2 개의 동일한 객체를 가질 수 있기 때문에 다른 스크립트를 넣을 수 없다. 당신이 무엇을해야하는지Unity2D Touch 이벤트가 모두 1 대신에

void Update() 
{ 
    if(platform == RuntimePlatform.Android || platform == RuntimePlatform.IPhonePlayer) 
{ 
if(Input.touchCount > 0) 
    { 
    if(Input.GetTouch(0).phase == TouchPhase.Began) 
     { 
     checkTouch(Input.GetTouch(0).position); 
     } 
    } 
    } 
} 

void checkTouch(Vector3 pos) 
{ 
    Vector3 wp = Camera.main.ScreenToWorldPoint(pos); 
    Vector2 touchPos = new Vector2(wp.x, wp.y); 
    var hit = Physics2D.OverlapPoint(touchPos); 

    if(hit.collider2D) 
    { 
    Move(); 
    } 
} 
+0

'Input.GetTouch (0)'단지 첫 번째 터치를 반환처럼 할 수있다. 'for (int i = 0; i Imapler

+1

의'Move()'함수를 사용하여 모든 터치를 반복하십시오. –

답변

1

이 방법이
처럼 보낼 수 있습니다 이동하는 것을 알 수 있도록 당신이
Move() 방법을 명중 개체의 정보를 전송하는 것입니다 help.Here 내 코드하세요 if(hit.collider2D) { Move(hit.collider2D.gameObject); } hitcollider2D 그래서 당신이
if(hit) { Move(hit.gameObject); }

관련 문제