Podsumowanie: podwójny skok
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 43 z 60.
W tym rozdziale ręcznie poruszaliśmy obiektem CharacterController: używaliśmy Move do chodzenia, przechowywaliśmy grawitację w polu, a skoki obliczaliśmy na podstawie ich wysokości. Bohater może teraz wykonać jeszcze jeden skok w powietrzu.
Wyzwanie
ŚredniNiech bohater wykona skok i jeden skok w powietrzu. Chodzenie jest już zaimplementowane.
- Najpierw, gdy bohater stoi na ziemi:
airJumpUsed = false, a opadającaverticalSpeedprzyjmuje wartość-2f. - Po
Input.GetButtonDown("Jump"): jeśli bohater stoi na ziemi,verticalSpeed = Mathf.Sqrt(jumpHeight * -2f * gravity);; w przeciwnym razie, jeśli!airJumpUsed, wykonaj to samo zairJumpHeighti ustawairJumpUsed. - Następnie dodaj
gravity * Time.deltaTimedoverticalSpeed.
Naciśnij „Graj” i wykonaj podwójny skok na półkę. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Hero : MonoBehaviour
{
public float speed = 5f;
public float gravity = -25f;
public float jumpHeight = 2f;
public float airJumpHeight = 1.28f;
CharacterController controller;
float verticalSpeed;
bool airJumpUsed;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
// Zresetuj na ziemi, wykonaj skok lub skok w powietrzu po naciśnięciu Space, a następnie dodaj grawitację
Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")) * speed;
move.y = verticalSpeed;
controller.Move(move * Time.deltaTime);
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Tworzenie prawdziwych gier
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w banku8Sterowanie postacią
CharacterController.MoveGrawitacja ręcznieSkakaniePopychanie obiektówPoruszanie się w kierunku patrzeniaPodsumowanie: podwójny skokPoćwicz samodzielnie: Edytor online Unity