Lompatan dengan Tinggi Berubah
Termasuk bagian Input dan Pergerakan dalam perjalanan Godot di Coddy. Pelajaran 16 dari 28.
Di sebagian besar game platformer, menekan tombol sebentar menghasilkan lompatan kecil, sedangkan menahan tombol menghasilkan lompatan penuh.
Untuk melakukannya, hentikan lompatan saat tombol dilepas. Input.is_action_just_released("jump") bernilai true pada satu frame saat tombol dilepas. Jika karakter masih bergerak naik saat itu, kurangi separuh kecepatan geraknya ke atas:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.y < 0 berarti karakter masih bergerak naik. Tanpa kondisi ini, melepas tombol saat karakter bergerak turun akan memperlambat jatuhnya.
Jika tombol ditahan sampai karakter mencapai puncak lompatan, lompatan tidak dihentikan.
Tantangan
SedangBuat ketukan singkat pada jump menghasilkan lompatan kecil. Saat tombol dilepas ketika hero masih bergerak naik, bagi dua velocity.y. Menahan tombol tetap menghasilkan lompatan penuh.
Coba sendiri
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Input dan Pergerakan
3Gravitasi dan Lompatan
Jatuh karena GravitasiMelompat ke AtasHanya dari LantaiBerlari dan MelompatLompatan dengan Tinggi BerubahLompatan GandaLatihan sendiri: Playground Godot