Menu
CoddyTech

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 quando alguém leva um golpe informa ao jogador o que aconteceu.

O hit() do robô já cria um Label que exibe -1 acima da cabeça dele. Assim como as lascas da caixa, o rótulo vai para get_parent(), para não se mover nem piscar junto com o robô.

Para fazê-lo flutuar, anime sua "position:y" para cima e sua "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, ele é label, não self.

challenge icon

Desafio

Médio

Faça o -1 flutuar para longe.

  1. Depois que o rótulo for adicionado, 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 no finished da animação e, em seguida, chame label.queue_free().

Pressione “Jogar” e pressione E: o -1 sobe e desaparece. Depois, “Verificar”.

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