如何在Vector3中随机产生敌人(运动机器人)

时间:2020-06-27 03:22:09

标签: gdscript

我正在Godot中进行第一个3d fps,但我不知道如何在一般区域中生成敌人。如果有人可以给我看一个教程或很棒的东西。

1 个答案:

答案 0 :(得分:0)

仅用敌人角色制作一个场景,根据需要提供控制脚本(动作等),然后将其保存为场景(例如:myEnemy.tscn)。

在您的主脚本(或您从何处调用它)中,加载敌人的场景并将其存储为变量,方法如下:

onready var loadedEnemy = preload("res://myEnemy.tscn")

然后在您的_process()_ready()函数中(取决于您需要的功能):

  1. 通过写作实例化敌人

var enemy = loadedEnemy.instance()

  1. 使用
  2. 将实例添加到场景中

add_child(enemy)

3。指定敌人的位置。通过书写将随机放置在地面10 x 10区域(Y = 0)中的某个地方

enemy.transform.origin = Vector3( rand_range(0,10), 0, rand_range(0,10) )

您还可以指定旋转角度

enemy.transform.basis = Vector3(90deg, 0, 0)(示例)

您可以通过从var enemy = loadedEnemy.instance()开始重复这些步骤来添加更多敌人(例如:下一个敌人将是var enemy2 = loadedEnemy.instance()

如果您希望它们在不同的时间出现,请将它们添加到其他on_timer_timeout()节点的Timer函数中。

祝你好运