Hero: Kembali ke Awal
Termasuk bagian Input dan Pergerakan dalam perjalanan Godot di Coddy. Pelajaran 27 dari 28.
Jika hero jatuh ke dalam lubang, hero harus kembali ke titik awal.
Simpan titik awal dalam variabel di _ready(), yang berjalan sebelum hero bergerak:
var start_position = Vector2()
func _ready():
start_position = positionSetelah move_and_slide(), periksa apakah hero jatuh melewati layar setinggi 360 piksel. Kembalikan hero ke titik awal, lalu atur ulang kecepatannya agar hero tidak tiba dalam keadaan masih jatuh:
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)Tantangan
SedangSimpan posisi awal di _ready(). Saat hero jatuh melewati y = 400, kembalikan ke posisi tersebut dan atur kecepatannya menjadi Vector2(0, 0).
Coba sendiri
extends CharacterBody2D
var speed = 220
var acceleration = 1200
var friction = 2400
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
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1
move_and_slide()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Input dan Pergerakan
2CharacterBody2D
CharacterBody2DBergerak dengan KecepatanDinding MenghentikanmuBergerak ke Mana SajaDiagonal yang Seimbang5Proyek: Hero Platformer
Hero: BerlariHero: MelompatLatihan sendiri: Playground Godot