Menu
CoddyTech

Esquive : Score

Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 26 sur 29.

Dans Dodge, tu marques un point pour chaque seconde où tu survis. La scène possède un minuteur d’une seconde, ScoreTimer, qui arrive à expiration chaque seconde. La barre supérieure comporte une étiquette Score.

Ce fonctionnement est similaire à celui de l’horloge que tu as créée précédemment. Utilise une variable, affiche-la dans _ready() et ajoute un point à chaque timeout :

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

Une scène peut avoir plusieurs minuteurs. Chacun a son propre wait_time et sa propre fonction. Tu peux donc modifier la fréquence de chute des blocs sans changer le score.

challenge icon

Défi

Moyen

Marque un point pour chaque seconde où tu survis.

  1. Ajoute var score = 0 en haut, et affiche Score: 0 sur $HUD/Score dans _ready().
  2. Connecte $ScoreTimer.timeout à _on_score_timer_timeout.
  3. Dans _on_score_timer_timeout(), ajoute un point et affiche le nouveau score.

Appuie sur « Jouer » : le score augmente une fois par seconde. Puis appuie sur « Vérifier ».

Essayez vous-même

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)

Toutes les leçons de Règles du jeu

Entraînez-vous par vous-même : Playground Godot