Skip to content

地牢生成器

图片 创建一个程序生成的地牢。包括两种布局:“房间和走廊”和“地牢洞穴”。

作者和贡献者VictrisGames


如何使用:

  • 在场景开始时运行“生成地牢洞穴”或“生成带有房间的地牢”动作。

提示:

  • 保持房间对象使用的空间量少于总地图的 ~25%。如果添加了太多房间,它们将无法正确放置,并可能与其他房间发生碰撞。
  • 尝试在玩家和墙对象上结合使用无重力的上下控件和物理行为
  • 使用外部布局将预设计的房间放置在随机创建的房间对象上
  • 使用“删除未使用的地形”选项以减少资源使用
  • 使用“RoomID(object)”表达式确定起始和结束房间
  • 使用“NeighborCount(object)”表达式找到放置宝藏的好地方。邻居数量较多意味着该瓷砖是一个角落或小隅。
  • 使用“IsRoomEntrance”条件标识与房间相邻的走廊对象

一个示例展示了如何程序生成地牢或洞穴(在线打开项目)。

阅读更多...

提示

学习通过按步骤指南安装新扩展

动作

计算对象周围的网格邻居数量 计算对象周围的网格邻居数量。使用“NeighborCount(Object)”表达式检索此值。

生成地牢洞穴 使用随机行走算法生成地牢洞穴。当走步者触及地图边缘时,将其移回地图中心。

生成带有房间和走廊的地牢 通过在随机位置放置房间并在发生碰撞时移动它们来生成地牢。房间通过走廊相连。

条件

走廊是房间入口 检查走廊是否是房间入口。

表达式

表达式

说明

DungeonGenerator::NeighborCount(object)

对象的网格邻居数。在使用此表达式之前需要运行“CalculateGridNeighbors”动作。

👾 对象

DungeonGenerator::RoomID(object)

创建此房间的编号顺序。(范围:未定义到总房间数)。

👾 对象


本页面是有关 Dungeon generator _扩展的自动生成参考页面,由GDevelop社区制作,这是一个为所有人设计的开源跨平台游戏引擎