C# unity-Doppel-Sprung-Codierung für Spieler Bewegung zu kontrollieren

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour 
{
public float speed          = 3.0f;
public float jumpSpeed          = 200.0f;
public bool grounded            = true;
public float time           = 4.0f;     



//Use this for initialization
void Start () 
{

}

//Update is called once per frame
void FixedUpdate () 
{
    Vector3 x = Input.GetAxis("Horizontal")* transform.right * Time.deltaTime *      speed;

    if (time <= 2)
    {
    if(Input.GetButtonDown("Jump"))
        {
                Jump();
        }

    }

    transform.Translate(x);

    //Restrict Rotation upon jumping of player object
    transform.rotation = Quaternion.LookRotation(Vector3.forward);


}
void Jump()
    {
        if (grounded == true)
        {
            rigidbody.AddForce(Vector3.up* jumpSpeed);


            grounded = false;
        }

    }
void OnCollisionEnter (Collision hit)
{
    grounded = true;
    //check message upon collition for functionality working of code.
    Debug.Log ("I am colliding with something");
}

}

Wo soll und welche Art der Kodierung kann es machen, springen Sie zweimal vor dem ruhen wieder auf den Boden?

Es ist ein Objekt aus dem spritesheet auf, und ich erworben hatte, die Bestimmung der Bewegung und normal zu springen, basierend auf der Physik-engine in unity. aber ich will das die Bewegung dynamischer und springen zweimal nur, wenn es nicht geerdet ist und in zwischen bestimmten Zeitrahmen, wie wenn die Sprung-Taste gedrückt wird, einige Milli-Sekunden-Intervall vor dem nächsten zurücksetzen der position nach dem ruhen im Boden.

InformationsquelleAutor Kapil Soni | 2013-09-25
Schreibe einen Kommentar