Uma moeda que salta
Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 7 de 23.
Quando você toca em uma moeda, ela desaparece imediatamente. Uma animação rápida de salto mostra ao jogador que ele a coletou. A moeda aumenta de tamanho e desaparece gradualmente; depois, ela é removida.
Essa animação é um tween com duas etapas executadas ao mesmo tempo. A moeda deve permanecer até o tween terminar. Um tween envia o sinal finished quando a última etapa termina, e await espera por ele.
var tween = create_tween()
tween.tween_property(self, "scale", Vector2(2, 2), 0.3)
tween.parallel().tween_property(self, "modulate:a", 0.0, 0.3)
await tween.finished
queue_free()await tween.finished pausa a função até o tween terminar. Então, queue_free() é executado. O restante do jogo continua rodando enquanto isso.
Desafio
MédioFaça uma moeda aumentar de tamanho antes de desaparecer.
- Em
_on_body_entered, animescaleatéVector2(1.8, 1.8)em0.25segundos. - Ao mesmo tempo, anime
"modulate:a"até0.0. - Aguarde a animação terminar e, em seguida, use
queue_free().
Pressione “Jogar” e encoste em uma moeda: ela aumenta de tamanho e desaparece. Depois, pressione “Verificar”.
Experimente você mesmo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
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
1Interpolações
Sua primeira interpolaçãoInterpole qualquer propriedadeDesaparecer gradualmenteSuavização de saídaUm após o outroAo mesmo tempoUma moeda que saltaPratique por conta própria: Playground de Godot