Menu
CoddyTech

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

is_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.

challenge icon

Görev

Orta

Kahraman çı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)
quiz iconKendini test et

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

Kendi başına pratik yap: Godot playground