Menu
CoddyTech

Unikaj przeszkód: Wynik

Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 26 z 29.

W Dodge zdobywasz jeden punkt za każdą sekundę, którą uda ci się przetrwać. Scena ma drugi timer, ScoreTimer, który odlicza czas co sekundę. Na górnym pasku znajduje się etykieta Score.

Działa to podobnie do zegara, który utworzyłeś wcześniej. Użyj zmiennej, wyświetl ją w _ready() i dodawaj punkt przy każdym timeout:

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

Jedna scena może mieć wiele timerów. Każdy z nich ma własne wait_time i własną funkcję. Dzięki temu możesz zmienić częstotliwość spadania bloków bez zmieniania wyniku.

challenge icon

Wyzwanie

Średni

Zdobywaj punkt za każdą sekundę, którą przetrwasz.

  1. Dodaj var score = 0 na górze i wyświetl Score: 0 w $HUD/Score w _ready().
  2. Połącz $ScoreTimer.timeout z _on_score_timer_timeout.
  3. W _on_score_timer_timeout() dodaj punkt i wyświetl nowy wynik.

Naciśnij „Graj”: wynik będzie zwiększany raz na sekundę. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

Wszystkie lekcje w sekcji Zasady gry

Poćwicz samodzielnie: Edytor online Godot