我正在试着写一个暴徒产卵脚本(波浪式)。
这就是我的想法:
func _on_enemy_spawn_timer_timeout():
var enemy1_count = get_node(".").get_child_count()
var loop_count = 0
if enemy1_count < 5 :
loop_count = loop_count + 1
for c in range(1):
random_x.randomize()
var random_x_number = random_x.randf_range(-20,20)
random_y.randomize()
var random_y_number = random_y.randf_range(1,1)
random_z.randomize()
var random_z_number = random_z.randf_range(-20,20)
var gem_instance = preload ("res://sahneler/gem.tscn").instance()
add_child(gem_instance)
add_to_group("gems")
gem_instance.set_translation(Vector3(random_x_number,random_y_number,random_z_number))
print (enemy1_count)
print (loop_count)这实际上是有效的,但它有一个巨大的缺陷,这个代码一个接一个地产生敌人(每0.5秒产生一个敌人)。
但是在我杀死一个敌人之后,脚本会填满这个洞并产生另一个,再次设置为5。但我想要的是控制每一波中产生的敌人数量。
例如,在这个脚本中,我希望只产生5个敌人,在他们全部被杀死后,将会有新的浪潮,而那个浪潮将有10个敌人等等。
我尝试计算每个循环,并试图在5个敌人产卵后打破,但,它不起作用。它看起来是这样的:

发布于 2020-10-18 05:42:11
已解决
var loop_count : int = 0
func _on_enemy_spawn_timer_timeout():
var enemy1_count = get_node(".").get_child_count()
if enemy1_count < 5 :
for c in range(1):
if loop_count < 5:
loop_count += 1
random_x.randomize()
var random_x_number = random_x.randf_range(-20,20)
random_y.randomize()
var random_y_number = random_y.randf_range(1,1)
random_z.randomize()
var random_z_number = random_z.randf_range(-20,20)
var gem_instance = preload ("res://sahneler/gem.tscn").instance()
add_child(gem_instance)
add_to_group("gems")
gem_instance.set_translation(Vector3(random_x_number,random_y_number,random_z_number))
# print (enemy1_count)
print (loop_count)
else:
breakhttps://stackoverflow.com/questions/64405322
复制相似问题