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.
Desafio
MédioFaça o -1 flutuar para longe.
- Depois que o rótulo for adicionado, anime sua
"position:y"40 pixels para cima em0.6segundos. - Em paralelo, anime sua
"modulate:a"até0.0. - Use
awaitnofinishedda animação e, em seguida, chamelabel.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)
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