Этот код будет продолжать прыгать, даже если он не на земле, как вы остановите это (используя Unity). < /p>
Код: < /p>
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;
}
}
Подробнее здесь: https://stackoverflow.com/questions/329 ... op-this-be
Персонаж продолжает прыгать, даже если он не на земле - как остановить это поведение? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Персонаж продолжает прыгать, даже если он не на земле - как остановить это поведение?
Anonymous » » в форуме C# - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-