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.
Desafio
MédioFaça o -1 flutuar. Depois que o rótulo for adicionado:
- anime sua
"position:y"40 pixels para cima em 0.6 segundos, - em paralelo, anime sua
"modulate:a"até0.0, - use
awaitpara aguardar ofinishedda 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)
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