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 = trueBagian 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.
Tantangan
SedangTampilkan 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)
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