Lompatan dengan Tinggi Berubah
Termasuk bagian Input dan Pergerakan dalam perjalanan Godot di Coddy. Pelajaran 16 dari 28.
Di sebagian besar game platformer, ketukan tombol menghasilkan lompatan kecil, sedangkan tombol yang ditahan menghasilkan lompatan penuh.
Untuk melakukan ini, potong lompatan saat tombol dilepas. Input.is_action_just_released("jump") bernilai true pada satu frame saat tombol dilepas. Jika tokoh masih bergerak naik saat itu, bagi dua kecepatan gerak ke atasnya:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.y < 0 berarti tokoh masih bergerak naik. Tanpa kondisi ini, melepas tombol saat tokoh bergerak turun akan memperlambat jatuhnya.
Tahan tombol hingga melewati titik tertinggi lompatan, maka tidak ada yang dipotong.
Tantangan
SedangBuat ketukan singkat pada tombol lompat menghasilkan lompatan kecil.
- Setelah
ifuntuk lompatan, tambahkanifuntukInput.is_action_just_released("jump")danvelocity.y < 0. - Di dalamnya, bagi dua
velocity.y.
Tekan tombol “Main”: ketukan singkat pada Space membuat lompatan kecil, sedangkan menahannya membuat lompatan penuh. Lalu tekan tombol “Periksa”.
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()
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