Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - ProTo

#1
General (Antiguo) / AI Movimiento por saltos
Abril 07, 2016, 10:19:08 PM
Cómo haríais que el movimiento de un AI no sea constante, sino por "saltitos"? como por ejemplo en el típico froggy que avanza salto a salto..Muchas gracias! PD: Dejo aquí los scripts de movimiento que utilizo por si ayuda de algo..public class Movimiento : MonoBehaviour {    float lerpTime;
    float currentLerpTime;
    float percentage = 1;    Vector3 startPos;
    Vector3 endPos;    bool firstInput;
    public bool justJump;    void Update () {
        if(Input.GetButtonDown("up") || Input.GetButtonDown("down") || Input.GetButtonDown("left") || Input.GetButtonDown("right")) {
            if (percentage == 1)
            {
                lerpTime = 1;
                currentLerpTime = 0;
                firstInput = true;
                justJump = true;
            }
        }
        startPos = gameObject.transform.position;
        if (Input.GetButtonDown ("right") && gameObject.transform.position == endPos) {
            endPos = new Vector3(transform.position.x + 2, transform.position.y, transform.position.z);
        }
        if (Input.GetButtonDown ("left") && gameObject.transform.position == endPos) {
            endPos = new Vector3(transform.position.x - 2, transform.position.y, transform.position.z);
        }
        if (Input.GetButtonDown ("up") && gameObject.transform.position == endPos) {
            endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z + 2);
        }
        if (Input.GetButtonDown ("down") && gameObject.transform.position == endPos) {
            endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z - 2);
        }
        if (firstInput == true) {
            currentLerpTime += Time.deltaTime * 5;
            percentage = currentLerpTime / lerpTime;
            gameObject.transform.position = Vector3.Lerp (startPos, endPos, percentage);
            if (percentage > 0.8){
                percentage = 1;
            }
            if (Mathf.Round(percentage) == 1) {
                justJump = false;
            }
        }
    }
}_____________________________________________________________________public class Rotacion : MonoBehaviour {    Animator anim;
    public GameObject player;
    
    void Start () {
        anim = gameObject.GetComponent<Animator> ();
    
    }    void Update () {
        Movimiento bounceScript = player.GetComponent<Movimiento> ();
        if(bounceScript.justJump == true) {
            anim.SetBool ("Jump",true);
        }else{
            anim.SetBool ("Jump",false);
        }
        if (Input.GetButtonDown ("right")) {
            gameObject.transform.rotation = Quaternion.Euler(0,0,0);
        }
        if (Input.GetButtonDown ("left")) {
            gameObject.transform.rotation = Quaternion.Euler(0,180,0);
        }
        if (Input.GetButtonDown ("up")) {
            gameObject.transform.rotation = Quaternion.Euler(0,-90, 0);
        }
        if (Input.GetButtonDown ("down")) {
            gameObject.transform.rotation = Quaternion.Euler(0,90, 0);
        }    }
} 
#2
General (Antiguo) / Buenas comunidad
Marzo 15, 2016, 09:59:38 PM
Llevo varios meses trasteando por el foro desde las sombras