Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 15,00€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales
Sign in to follow this  
marboxrem

Rotar sprite derecha izquierda

Recommended Posts

Buenas, tengo una consulta, tengo este script que controla a mi personaje , lo que quiero que haga es que cuando presione la tecla d mi sprite mire para la derecha y cuando presione la tecla a mi sprite gire a la izquierda, agradeceria si alguien me da una solucion

public class PlayerMovement : MonoBehaviour { public float speed; public float jumMeight; public GameObject Ataque_a; //Direccion del player public Vector3 direction = Vector3.zero; float verticalVelocity = 0; //Fin del movimiento del player //Componentes CharacterController cc; Animator anim; //Final de los compoenes. // Use this for initialization void Start () { //Player info speed = 7f; jumMeight = 8f; //Final Player info. //Componentes cc = GetComponent(); anim = GetComponent(); } // Update is called once per frame void Update () { //El jugador se movera con AD, o con las flechas direccionales. direction = transform.rotation * new Vector3(Input.GetAxisRaw("Horizontal"), 0, 0); //si el jugador que mueve ajustar la velocidad de la animación a la Magnitud de ls direcciones //anim.Setfloat("Speed",direction.magnitude); //Si en el Character Controller se fundamenta luego permitir que el reproductor de salto if(cc.isGrounded && Input.GetButton("Jump")) { //El player salta en vertical con la W verticalVelocity = jumMeight; } } void FixedUpdate(){ Vector3 dist = direction * speed * Time.deltaTime; //Jumping if(cc.isGrounded && verticalVelocity < 0){ verticalVelocity = Physics.gravity.y * Time.deltaTime; } else { if(Mathf.Abs(verticalVelocity)> jumMeight * 0.75) { anim.SetBool("Jumping" ,true); } //Aplicar Gravedad verticalVelocity += Physics.gravity.y * Time.deltaTime; } //Si la verticalVelocity es actual al movimiento por cada frame dist.y = verticalVelocity * Time.deltaTime; //Aplicar el movimiento del cc cc.Move(dist); } }

Share this post


Link to post
Share on other sites

No es necesario rotar la figura puedes escalarla y ya. Debes estar trabajando en el eje X y Y, en eleditor prueba a la escala ponerla negativa en X, debería entonces quedar mirando enla otra dirección, a mi me ha pasado. No leí mucho en tu codigo, si te funciona en el editor,ya es cosa tuya ponerlo en tu script. Espero haberte ayudado.

PD: thewalkerboys.com  (o algo asi) estos tienen un tuto muy bueno de un mario 2d, que yo hice, buscaré con más calma la solución a tu problema y te la daré otro día.

Share this post


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

×
×
  • Create New...