Der Charakter springt weiter, obwohl er nicht auf dem Boden ist. Wie kann man dieses Verhalten stoppen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Der Charakter springt weiter, obwohl er nicht auf dem Boden ist. Wie kann man dieses Verhalten stoppen?

Post by Anonymous »

Dieser Code springt weiter, auch wenn er nicht am Boden ist. Wie können Sie das stoppen (mit Unity)?

Der Code:

Code: Select all

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{

//Movement
public float speed;
public float jump;
float moveVelocity;

//Grounded Vars
bool grounded = true;

void Update ()
{
//Jumping
if (Input.GetKeyDown (KeyCode.Space) || Input.GetKeyDown (KeyCode.UpArrow) || Input.GetKeyDown (KeyCode.Z) || Input.GetKeyDown (KeyCode.W))
{
if(grounded)
{
GetComponent ().velocity = new Vector2 (GetComponent ().velocity.x, jump);
}
}

moveVelocity = 0;

//Left Right Movement
if (Input.GetKey (KeyCode.LeftArrow) || Input.GetKey (KeyCode.A))
{
moveVelocity = -speed;
}
if (Input.GetKey (KeyCode.RightArrow) || Input.GetKey (KeyCode.D))
{
moveVelocity = speed;
}

GetComponent ().velocity = new Vector2 (moveVelocity, GetComponent ().velocity.y);

}
//Check if Grounded
void OnTriggerEnter2D()
{
grounded = true;
}
void OnTriggerExit2D()
{
grounded = false;
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post