Menu
CoddyTech
flag Pt iconPortuguêsdown icon

Números Flutuantes

Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 19 de 23.

Um número que flutua para cima após um golpe informa ao jogador o que aconteceu.

O hit() do robô já cria um Label que mostra -1 acima da cabeça dele. Assim como as lascas da caixa, o rótulo é adicionado a get_parent(), então não se move nem pisca junto com o robô.

Para fazê-lo flutuar, anime a propriedade "position:y" para cima e a propriedade "modulate:a" até 0 ao mesmo tempo. Quando a animação terminar, remova o rótulo com label.queue_free(). Caso contrário, ele continuará no jogo, invisível.

var rise = create_tween()
rise.tween_property(label, "position:y", label.position.y - 40, 0.6)

O primeiro valor de tween_property é o nó a ser alterado. Aqui é label, não self.

challenge icon

Desafio

Médio

Faça o -1 flutuar. Depois que o rótulo for adicionado:

  1. anime sua "position:y" 40 pixels para cima em 0.6 segundos,
  2. em paralelo, anime sua "modulate:a" até 0.0,
  3. use await para aguardar o finished da animação e, em seguida, label.queue_free().

Experimente você mesmo

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
	var label = Label.new()
	label.text = "-1"
	label.modulate = Color(1, 0.42, 0.42)
	label.position = position + Vector2(-8, -110)
	get_parent().add_child(label)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Sensação de jogo

Pratique por conta própria: Playground de Godot