Menu
CoddyTech

Tuğla Kırma Canları

Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 8 / 36.

Raket topu kaçırdığında, top ekranın altından düşer. Oyuncuya üç can verin.

ball.gd dosyasında, y = 380 değerinin altındaki top kaçırılmış sayılır. Bir missed sinyali gönderin ve topu raketin üstünde yeniden oyuna sokun:

if position.y > 380:
	missed.emit()
	position = Vector2(320, 290)
	velocity = Vector2(110, -280)

main.gd dosyasında, brick_broken sinyalini dinlediğiniz gibi bunu da dinleyin. Çağırdığı işlev bir can eksiltir ve puan işlevinin puanlarda yaptığı gibi yeni sayıyı gösterir.

challenge icon

Görev

Zor

Oyuncuya üç can ver.

  1. ball.gd içinde signal missed ekle. y = 380 satırının altına, yukarıda gösterildiği gibi sinyali gönder ve topu yeniden oyuna sok.
  2. main.gd içinde var lives = 3 ekle ve $HUD/Lives içinde Lives: 3 göster.
  3. $Ball.missed sinyalini, bir can eksilten ve bunu gösteren _on_missed işlevine bağla.

“Oyna” düğmesine bas ve topu kaçır: etiket Lives: 2 gösterir ve yeni bir top gelir. Ardından “Kontrol et” düğmesine bas.

Kendin dene

extends Node2D

const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]

var score = 0

func _ready():
	for row in 5:
		for column in 8:
			var brick = BRICK.instantiate()
			brick.position = Vector2(68 + column * 72, 60 + row * 26)
			brick.color = COLORS[row]
			add_child(brick)
	$Ball.brick_broken.connect(_on_brick_broken)
	$HUD/Score.text = "Score: 0"

func _on_brick_broken():
	score += 10
	$HUD/Score.text = "Score: %d" % score

Projeler bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground