Jump to content
Sign in to follow this  
Bousing

Arrastrar con touch una camara isométrica

Recommended Posts

Saludos amigos

 Escribo porque tengo una duda. Necesito hacer un juego con una cámara isometrica como la de warcraft 3, age of empire, etc. Como el juego es para móviles necesito hacerla con touch.

 Mi estrategia es la siguiente, crear un GameObject y hacer que la cámara principal sea hijo de este objeto y programar una clase para que el GameOject que contiene a la camara se mueva con el dedo.

 

Yo hice este código:

 

//UN SOLO TOQUE PARA MOVER LA CÁMARA
  if (Input.touchCount == 1) {

   if (Input.GetTouch ().phase == TouchPhase.Began) {
                   
    worldStartPoint = getToque (Input.GetTouch ().position);

   }

   //CUANDO EL TOUCH ESTÁ EN MOVIMIENTO
   if(Input.GetTouch().phase == TouchPhase.Moved){

    //SE OBTIENEN LAS COORDENADAS DE LA NUEVA POSICIÓN
    Vector2 endPosition = getToque (Input.GetTouch ().position) - worldStartPoint;

    this.transform.Translate (endPosition.x,,endPosition.y);
   }
  }

 }


 //MÉTODO PARA CAPTURAR LA POSICIÓN EN LA PANTALLA DE UN TOQUE TÁCTIL
 private Vector2 getToque(Vector2 toque){
  
  RaycastHit hit;
  Physics.Raycast (Camera.main.ScreenPointToRay (toque), out hit);
  return hit.point;
 }

pero cuando hago la prueba con Unity Remote, solamente puedo mover el objeto en el eje X y no en el eje Z. A mi también me gustaría se pudiera mover fluido y corrido como en clash of clans que no es necesario despegar el dedo de la pantalla para seguir moviendolo. Alguén podría ayudarme ?. Muchísimas gracias por leer.

Edited by Bousing

Share this post


Link to post
Share on other sites

Este tema es interesante para muchos proyectos. Si alguien consigue solucionarlo, por favor marcad la Best Answer, que lo destacaremos en el foro.

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...