Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Script tactil

Iniciado por Jesus91, Julio 03, 2015, 07:32:58 PM

Tema anterior - Siguiente tema
Hice este script para mover a mi personaje hacia los lados.
El problema es que nose hacer para que funcione en un celular tactil.
Alguien me puede ayudar.
Gracias
 
 
using UnityEngine;
using System.Collections;
 
public class ControladorTransform4 : MonoBehaviour {
 
public float velocidad = 1f;
public float giro = 3f;
 
// Update is called once per frame
void Update ( ) {
 
Vector3 avance = Input.GetAxis ("Horizontal") * Vector3.right * velocidad * Time.deltaTime;
transform.Translate ( avance );
 
Vector3 rotacion = Input.GetAxis ( "Vertical" ) * Vector3.left * giro * Time.deltaTime;
transform.Rotate ( rotacion );
 
}
}

No te va a funcionar porque GetAxis no recibe los toques de la pantalla táctil, recibe ciertas teclas del teclado y joysticks. Si quieres que se mueva tendrás que usar Input.GetTouch que registra los toques en la pantalla y definir cómo funciona. Por ejemplo, si quieres que tu personaje avance cuando tocas la parte derecha de la pantalla:

void Update() {
 if(Input.touchCount > 0){ //la variable touchCount cambia si estás tocando la pantalla
  if(Input.GetTouch(0).position.x > Screen.width/2) //La función GetTouch te devuelve el objeto Touch que tiene cierta posición, si el toque es en  la parte derecha de la pantalla se moverá.
   transform.Translate(Vector3.right);
}
}

Espero que te sirva de base

Ok mas o menos lo entendi gracias!

yo te sugiero que implementes siempre las dos opciones con los #define, para si estas en compu o estas en device, saludos   

Gracias Carranza!!, estoy probando, porque todavia no me salio el de arriba jeje.

Julio 04, 2015, 05:13:11 AM #5 Ultima modificación: Julio 04, 2015, 05:21:04 AM por Howling Wolf
Incluso podrias usar http://docs.unity3d.com/ScriptReference/Input.GetMouseButton.html" rel="external nofollow">Input.GetMouseButton en 4 gameobjects y usar una GUI de cruceta. Un poco cutre pero efectivo.

Etiquetas: