Menu
CoddyTech

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 = position

Setelah 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)
challenge icon

Tantangan

Sedang

Simpan 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()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Input dan Pergerakan

Latihan sendiri: Playground Godot