Menu
CoddyTech

生成函数

本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 18 课,共 29 课。

在游戏运行时创建节点称为生成。把生成代码放进你自己的函数中,并将 x 位置作为参数:

func spawn(x):
	var block = block_scene.instantiate()
	block.position = Vector2(x, -30)
	add_child(block)

每次调用都会创建一个新方块。一个节点在游戏中只能存在一次。对同一个方块调用两次 add_child() 会导致错误。因此,每个方块都需要单独调用 instantiate()。

challenge icon

挑战

简单

用一个函数放下三个方块。

  1. 编写 func spawn(x),在 Vector2(x, -30) 处创建一个方块并将其添加进去。
  2. 在 _ready() 中调用它三次:spawn(160)、spawn(320) 和 spawn(480)。

按下“开始”:三个方块会并排落下。然后点击“检查”。

亲手试试

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	var block = block_scene.instantiate()
	block.position = Vector2(160, -30)
	add_child(block)

游戏规则中的所有课

自己练习: Godot 在线编辑器