Menu
CoddyTech

Hero: Mencapai Tepi

Termasuk bagian Input dan Pergerakan dalam perjalanan Godot di Coddy. Pelajaran 28 dari 28.

Tujuannya adalah tepian tinggi dengan bendera. Hero membawa Banner, sebuah Label tersembunyi yang bertuliskan Kamu berhasil!

Di tanah, position.y milik hero bernilai 278. Di anak tangga nilainya 218, dan di tepian nilainya 158. Jadi, hero berada di tepian saat berada di lantai dan position.y kurang dari 170:

if is_on_floor() and position.y < 170:
	$Banner.visible = true

Bagian is_on_floor() penting. Lompatan dari tanah juga melewati 170 sesaat, tetapi saat hero berada di udara.

Untuk menang, lompati lubang, lalu naik ke anak tangga, kemudian ke tepian.

challenge icon

Tantangan

Sedang

Tampilkan Banner milik hero saat ia berdiri di tepi, di lantai dengan position.y di bawah 170. Lalu, capailah tepi itu sendiri.

Coba sendiri

extends CharacterBody2D

var speed = 220
var acceleration = 1200
var friction = 2400
var gravity = 1000
var jump_velocity = -500
var start_position = Vector2()

func _ready():
	start_position = position

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()
	if position.y > 400:
		position = start_position
		velocity = Vector2(0, 0)
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