Menu
CoddyTech

Desvie: Pontuação

Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 26 de 29.

No Dodge, você ganha um ponto para cada segundo que sobrevive. A cena tem um temporizador de segundos, ScoreTimer, que termina a cada segundo. A barra superior tem um rótulo Score.

Isso funciona como o relógio que você criou antes. Use uma variável, mostre-a em _ready() e adicione um ponto a cada timeout:

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

Uma cena pode ter muitos temporizadores. Cada um tem seu próprio wait_time e sua própria função. Assim, você pode mudar a frequência com que os blocos caem sem alterar a pontuação.

challenge icon

Desafio

Médio

Marque um ponto a cada segundo que você sobreviver.

  1. Adicione var score = 0 no início e mostre Score: 0 em $HUD/Score em _ready().
  2. Conecte $ScoreTimer.timeout a _on_score_timer_timeout.
  3. Em _on_score_timer_timeout(), adicione um ponto e mostre a nova pontuação.

Pressione “Jogar”: a pontuação aumenta uma vez por segundo. Depois, pressione “Verificar”.

Experimente você mesmo

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)

Todas as lições de Regras do jogo

Pratique por conta própria: Playground de Godot