Код движения 2D-платформера C# ⇐ C#
-
Anonymous
Код движения 2D-платформера C#
Этот код будет продолжать прыгать, даже если он не находится на земле. Как это остановить (с помощью Unity).
Код:
с использованием UnityEngine; использование System.Collections; открытый класс PlayerController: MonoBehaviour { //Движение общественная скорость плавания; публичный прыжок с плавающей запятой; поплавок moveVelocity; //Заземленные переменные bool grounded = true; недействительное обновление () { //Прыжки if (Input.GetKeyDown (KeyCode.Space) || Input.GetKeyDown (KeyCode.UpArrow) || Input.GetKeyDown (KeyCode.Z) || Input.GetKeyDown (KeyCode.W)) { если (заземлено) { GetComponent ().velocity = новый Vector2 (GetComponent ().velocity.x, прыжок); } } перемещениеСкорость = 0; //Левое правое движение if (Input.GetKey (KeyCode.LeftArrow) || Input.GetKey (KeyCode.A)) { moveVelocity = -скорость; } if (Input.GetKey (KeyCode.RightArrow) || Input.GetKey (KeyCode.D)) { moveVelocity = скорость; } GetComponent ().velocity = новый Vector2 (moveVelocity, GetComponent ().velocity.y); } //Проверяем, заземлено ли недействительный OnTriggerEnter2D() { заземлен = правда; } недействительный OnTriggerExit2D() { заземлен = ложь; } }
Этот код будет продолжать прыгать, даже если он не находится на земле. Как это остановить (с помощью Unity).
Код:
с использованием UnityEngine; использование System.Collections; открытый класс PlayerController: MonoBehaviour { //Движение общественная скорость плавания; публичный прыжок с плавающей запятой; поплавок moveVelocity; //Заземленные переменные bool grounded = true; недействительное обновление () { //Прыжки if (Input.GetKeyDown (KeyCode.Space) || Input.GetKeyDown (KeyCode.UpArrow) || Input.GetKeyDown (KeyCode.Z) || Input.GetKeyDown (KeyCode.W)) { если (заземлено) { GetComponent ().velocity = новый Vector2 (GetComponent ().velocity.x, прыжок); } } перемещениеСкорость = 0; //Левое правое движение if (Input.GetKey (KeyCode.LeftArrow) || Input.GetKey (KeyCode.A)) { moveVelocity = -скорость; } if (Input.GetKey (KeyCode.RightArrow) || Input.GetKey (KeyCode.D)) { moveVelocity = скорость; } GetComponent ().velocity = новый Vector2 (moveVelocity, GetComponent ().velocity.y); } //Проверяем, заземлено ли недействительный OnTriggerEnter2D() { заземлен = правда; } недействительный OnTriggerExit2D() { заземлен = ложь; } }
Мобильная версия