在开始本部分之前,建议大家再重温一下原版游戏。在这个章节我们将实现以下功能
- 自动销毁
我们想办法把已经滚出屏幕的水管子自动销毁,它们对游戏已经没有意义了- 随机
滚滚而来的水管子,应该是上下参差不齐的- 加分触发
小鸟每通过一对水管子,要加一分,这是游戏的核心机制之一,虽然积分系统还没有实现,但是我们首先要能获取到这个事件
#Pipe.gd
extends Node2D
func _process(delta):
position += Vector2.LEFT*200.0*delta
if position.x < 0:
queue_free()
#Pipe.gd
extends Node2D
func _ready():
position.y += randf()*300-150
func _process(delta):
position += Vector2.LEFT*200.0*delta
if position.x < 0:
queue_free()
#ScoreArea.gd
extends Area2D
func _ready():
connect("body_exited",self,"_on_body_exited")
func _on_body_exited(body):
if body.name == "Bird":
print("得分!!!!")