C# 2d Platformer -BewegungscodeC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# 2d Platformer -Bewegungscode

Post by Anonymous »

Dieser Code springt immer wieder, obwohl er nicht auf dem Boden ist, wie Sie dies stoppen (mit Einheit).

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: