Browsed by
Category: Unity

Unity-Javascript – Dokunma Algılama

Unity-Javascript – Dokunma Algılama

Dokunma tanımaya ihtiyacınız olan fonksiyona aşağıdaki kodu yazın ;

if(platform == RuntimePlatform.Android || platform == RuntimePlatform.IPhonePlayer)
{
      if(Input.touchCount => 0)
      {
         if(Input.GetTouch(0).phase == TouchPhase.Began)
         {
              checkTouch(Input.GetTouch(0).position);
         }
      }
}
else if(platform == RuntimePlatform.WindowsEditor)
{
    if(Input.GetMouseButtonDown(0))
    {
         checkTouch(Input.mousePosition);
    }
}

Aşağıdaki fonksiyonu da aynı .js dosyasına ekleyerek hem iphone hem desktop windows hem de androiddeki dokunmaları ve tıklamaları algılayarak işlem yapabilirsiniz.

function checkTouch(pos)
{
   var wp : Vector3 = Camera.main.ScreenToWorldPoint(pos);
   var touchPos : Vector2 = new Vector2(wp.x, wp.y);
   var hit = Physics2D.OverlapPoint(touchPos);
   if(hit)
   { 
      hitCount++;
      hit.transform.gameObject
     .SendMessage('Clicked',0,SendMessageOptions.DontRequireReceiver);
      var x = transform.position.x;
      var y = transform.position.y;
      if(hit.transform.gameObject.name.Equals("gameObject"))
      {
           //dokunma algılama işlemi
      }
   }
}