首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对每个Foor循环进行计数

对每个Foor循环进行计数
EN

Stack Overflow用户
提问于 2020-10-18 01:27:26
回答 1查看 23关注 0票数 0

我正在试着写一个暴徒产卵脚本(波浪式)。

这就是我的想法:

代码语言:javascript
复制
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个敌人产卵后打破,但,它不起作用。它看起来是这样的:

EN

回答 1

Stack Overflow用户

发布于 2020-10-18 05:42:11

已解决

代码语言:javascript
复制
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:
                    break
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64405322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档