【问题标题】:Roblox - creating a multistory mazeRoblox - 创建多层迷宫
【发布时间】:2021-11-19 17:59:01
【问题描述】:

我正在尝试创建一个多层迷宫。我发现创建第一层相当容易,然后我意识到我不知道如何简单地提升第一层以便在它下面创建第二层。

另外,有没有办法将所有这些墙壁部件“融合”成一个物体,然后将这个物体升起?

编辑:令我尴尬的是,它们是一种融合对象的方式。 “联合”工具是我需要的,但不知道存在。我“融合”(联合)了构成我的墙壁的各个部分,并将它们连接在一起成为一个很大的部分。在那次联合之后,向上移动整个迷宫变得非常容易。

【问题讨论】:

  • Kurt Isley,您能提供更多信息吗?您是使用迷宫生成器来创建每个级别,还是手动构建所有内容?您是否尝试过为 Group 对象中的所有墙壁设置父级?如果你已经锚定或焊接了每一块,那将允许你同时移动它们。
  • 嗨 Kylaa,是的,我正在手工制作。将它们放在一个组对象中听起来像是我想要做的,但我没有看到在 Roblox Studio 中做这件事的方法。我的 Roblox 编程书今天到了,所以现在我知道拿到这本书时要找什么了。 :-)

标签: roblox maze multi-level


【解决方案1】:

我不明白您的问题,但我认为您正在 roblox 中制作 3D 迷宫,并且您希望第一级上升,第二级形成低于该水平。

如果迷宫不是程序生成的并且地图是手工构建的。然后你可以让脚本检测玩家是否赢了,然后通过使用补间或使用循环来提升第一级(我推荐补间,因为循环和线性补间做同样的事情),然后制作一个显示它形成的效果(透明度、零件重新组合在一起等)。

我将向您展示最简单的示例。但是你可以添加任何你想要的东西

local ts = game:GetService("TweenService")
local ti = TweenInfo.new(0.5, Enum.TweenStyle.Linear, Enum.TweenDirection.Out) --Customize it to your liking
local levels = game.LevelStorageParent.LevelFolderOrModelHere:GetChildren()
local pos = workspace.Level1.Position --Change (Not the levels because we are not cloning this)
local levelYRaise = 10 --Put any number or just get bounding box for full raise

ts:Create(workspace.Level1, ti, {Position = Vector3.new(pos.X, pos.Y+levelYRaise, pos.Z):Play()

local newLevel = levels.Level2:Clone()
newLevel.Parent = workspace
newLevel.Pos = workspace.Level1.Position - Vector3.new(0, workspace.Level1.Size.Y, 0)
newLevel.Transparency = 1

ts:Create(newLevel, ti, {Transparency = 0}):Play()

根据您的喜好和您的层级名称和育儿方式更改代码

【讨论】:

  • 我相信你明白我在做什么。我从“经典底板”开始。我添加了“块”部分并使其变得又长又窄(1,15,30)并将其用作我的墙壁的构建块。然后我多次复制这个元素部分并将它们放在一起形成我的迷宫的墙壁。我的目的是让玩家从顶层开始,然后让他们一路向下,所以我首先创建了顶层。直到我创建了这个顶层之后,我才意识到我想不出一种方法来提升这个楼层并在它下面创建下一层。
  • 好的,你对我的回答有什么问题吗?
  • 不。这是一个很好的答案,感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 2012-08-02
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-08
相关资源
最近更新 更多