Kahraman: Çıkıntıya Ulaş
Coddy'nin Godot Journey'sinin Girdi ve Hareket bölümünün bir parçası. Ders 28 / 28.
Amaç, bayrağın bulunduğu yüksek çıkıntıya ulaşmak. Kahraman bir Banner taşıyor; bu, Başardın! yazan gizli bir Label.
Yerdeyken kahramanın position.y değeri 278'dir. Basamakta 218, çıkıntıda ise 158'dir. Yani kahraman yerdeyken position.y değeri 170'in altındaysa çıkıntıdadır:
if is_on_floor() and position.y < 170:
$Banner.visible = trueis_on_floor() kısmı önemlidir. Yerden yapılan bir zıplayışta da kahraman kısa bir süreliğine 170'in altına iner, ancak havadayken.
Kazanmak için çukurun üzerinden, sonra basamağa, ardından çıkıntıya zıpla.
Görev
OrtaKahraman çıkıntının üzerinde, yani position.y değeri 170'in altında olan zeminde durduğunda Banner'ı göster. Ardından çıkıntıya kendin ulaş.
Kendin dene
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)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Girdi ve Hareket bölümündeki tüm dersler
2CharacterBody2D
CharacterBody2DHız ile YürümeDuvarlar Seni DurdururHer Yöne YürümeDengeli Çapraz Hareket5Proje: Platform Oyunu Kahramanı
Kahraman: KoşKahraman: Zıpla3Yerçekimi ve Zıplama
Yerçekimiyle DüşYukarı ZıplaYalnızca YerdenKoş ve ZıplaDeğişken ZıplamaÇift ZıplamaKendi başına pratik yap: Godot playground