Choca contra las tuberías
Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 23 de 33.
Chocar contra una tubería o el suelo debería terminar la partida. Ambos casos conducen a una función en main.gd:
func _on_crash():
$HUD/Message.text = "Game Over"
get_tree().paused = trueUna tubería. La tubería es un Area2D con dos formas, las mitades superior e inferior. El hueco no tiene forma. En pipe.gd, conecta body_entered y emite una señal hit. main.gd conecta la señal hit de cada tubería nueva antes de añadirla.
El suelo. Su parte superior está en y = 318. El borde del volador está a 12 píxeles de su centro, así que toca el suelo cuando position.y supera 306. Después, flyer.gd emite crashed.
El volador, las tuberías y el temporizador se pueden pausar, así que la pausa los congela a todos.
Desafío
Difícil- En
pipe.gd, agregasignal hit. Conectabody_entereden_readyy emitehitcuando un cuerpo entre. - En
flyer.gd, agregasignal crashedy emítela cuandoposition.ysea mayor que 306. - En
main.gd, conectahitde cada tubería ycrasheddel personaje a_on_crash. MuestraGame Overy pausa el juego.
Pruébalo tú mismo
extends Node2D
const PIPE = preload("res://pipe.tscn")
func _ready():
$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, randf_range(100, 250))
$Pipes.add_child(pipe)
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Proyectos
3Proyecto: Flappy Flyer
Gravedad del voladorHaz aletear al voladorPractica por tu cuenta: Playground de Godot