Noticias

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

Ayuda con Script de movimiento

Iniciado por Centauro5legs, Diciembre 12, 2015, 09:08:54 PM

Tema anterior - Siguiente tema
Diciembre 12, 2015, 09:08:54 PM Ultima modificación: Junio 05, 2016, 06:27:35 PM por pioj
Tengo el Siguiente Script, y me funciona bien. Pero el problema es que cuando le doy hacia atrás, mi personaje se queda caminando en reversa. ¿Alguien sabe como hacer que rote, de modo que cuando le de a la flecha hacia abajo, camine en dirección opuesta, en lugar de caminar en reversa? 
 

//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
public class MoveCharacter : MonoBehaviour
{
    
    public float speed;
    public float gravity;
    public float rotateSpeed;
    public float jumpForce;
    private Vector3 motion = Vector3.zero;
    
    private CharacterController controller {
        get {
            return GetComponent<CharacterController> ();    
        }
    }
    
    void Update ()
    {
        Move ();
        Rotate ();
    }
 
    private void Move ()
    {
            if (controller.isGrounded) {
            motion = new Vector3 (Input.GetAxis ("Horizontal"), , Input.GetAxis ("Vertical"));
            motion *= speed;            
            motion = transform.TransformDirection (motion);
            
            if (Input.GetKeyDown (KeyCode.Space)) {
                if (Input.GetButton ("Jump") ) {
                    motion.y = jumpForce;
                }
            }
        }
        motion.y -= gravity * Time.deltaTime;
        controller.Move (motion * Time.deltaTime);
        
    }
    
    private void Rotate ()
    {
            transform.Rotate (, Input.GetAxis ("Mouse X") * rotateSpeed * Time.deltaTime, );
            Camera.main.transform.Rotate (-1 * Input.GetAxis ("Mouse Y") * rotateSpeed * Time.deltaTime, , );
    }
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

 
 

Diciembre 14, 2015, 07:38:28 PM #1 Ultima modificación: Junio 05, 2016, 06:27:14 PM por pioj
prueba llamando este metodo cada que presionas un axis
 
 
 



   
       void Flip()
          {
              //giro
              transform.Rotate(Vector3.up, 180);
          }
   

[/quote]
 
 

Etiquetas: