我想在给定区域的随机位置生成敌人。我不想让我的敌人随机出现在障碍物顶部等任何地方

Posted

技术标签:

【中文标题】我想在给定区域的随机位置生成敌人。我不想让我的敌人随机出现在障碍物顶部等任何地方【英文标题】:I want to spawn Enemy's in random position in given area. I don't want to spawn my enemy's in random position anywhere like top of obstacle and such 【发布时间】:2022-01-19 14:24:51 【问题描述】:

目前我正在使用相机视图之外的随机位置来生成我的敌人。 我想在选定区域生成我的敌人:

我该怎么做?

【问题讨论】:

您需要将排除的区域合并到您的随机位置获取逻辑中,或者检查 pos 是否在不需要的区域内,重新检索位置。我认为最简单的方法是为您定义 x 和 y 无效范围,并为无效值添加或减去确定的距离,直到 pos 无效为止。 可能相关:Instantiate objects within the terrain area 在 SO,How do I create random game objects on a terrain, but only inside the terrain area? 在Game Development。 【参考方案1】:

您应该做的是从您的相机发送一个光线投射并检查光线是否击中您不希望它生成的区域。如果它没有击中它,让它生成,但如果它确实丢弃当前位置并重试。

【讨论】:

我认为@rustyBucketBay 的想法是我的工作【参考方案2】:

在该区域设置一个触发对撞机并阻止敌人在那里生成

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于我想在给定区域的随机位置生成敌人。我不想让我的敌人随机出现在障碍物顶部等任何地方的主要内容,如果未能解决你的问题,请参考以下文章

Swift:在一定范围内随机生成敌人?

屏幕外敌人指示器算法

在 OpenGL 2D 中为敌人制作生成器

让我的敌人左右移动

Flash as3:使具有相同AS的敌人移动方式不同

QT:即使在 static_cast 之后也无法在主窗口中设置对象的位置