Tekrar: Çift Zıplama
Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 43 / 60.
Bu bölümde bir CharacterController elle hareket ettirildi: yürüme için Move, bir alanda tutulan yer çekimi ve yüksekliğine göre hesaplanan zıplamalar. Kahraman havadayken bir kez daha zıplayabilir.
Görev
OrtaKahramana bir zıplama ve havada bir zıplama ver. Yürüme kodu yazılmış durumda.
- Önce, yerdeyken:
airJumpUsed = falseyap ve düşüyorsaverticalSpeeddeğerini-2fyap. Input.GetButtonDown("Jump")olduğunda: yerdeyseverticalSpeed = Mathf.Sqrt(jumpHeight * -2f * gravity);; değilse ve!airJumpUsediseairJumpHeightile aynısını yap veairJumpUseddeğerini ayarla.- Ardından
gravity * Time.deltaTimedeğeriniverticalSpeeddeğerine ekle.
“Oyna”ya bas ve çift zıplayarak çıkıntıya çık. Ardından “Kontrol et”e bas.
Kendin dene
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()
{
// Yerdeyken sıfırla, Space ile zıpla veya havada zıpla, ardından yerçekimini ekle
Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")) * speed;
move.y = verticalSpeed;
controller.Move(move * Time.deltaTime);
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler
1Ekrandaki Metinler
Canvas ve MetinSkoru GösterSayıları BiçimlendirGeri Sayım ZamanlayıcısıTekrar: Hız Göstergesi2Düğmeler ve Ekranlar
Düğmeler ve onClickLambda İfadeleriInspector'da Bağlantı KurmaPanelleri Açma ve KapamaCan ÇubuklarıTekrar: Yükseltme Mağazası5PlayerPrefs ile Kaydetme
Bir Sayı KaydetmeVarsayılan Değerle YüklemeEn Yüksek SkorAyarları KaydetmeTekrar: Bankadaki Paralar8Karakter Kontrolcüsü
CharacterController.MoveYerçekimini Elle UygulamaZıplamaNesneleri İtmeBaktığın Yöne Hareket EtTekrar: Çift ZıplamaKendi başına pratik yap: Unity playground