在介绍 Roblox Studio中,您学会了如何在 Roblox Studio 中创建和操作零件。在此教程中,您学会了如何将 脚本 应用到零件以使平台显示并消失。您可以在平台体验中使用它来在平台之间移动,挑战用户在他们的跳跃时间谨慎为时。
设置场景
首关闭,您需要一个 零件 作为平台。制作和移动零件应该对您从 介绍 Roblox Studio 很熟悉。您不需要一个复杂的世界,只需要一个用户可以轻松跳过的间隙。
插入一个 零件 并将其重命名为 DisappearingPlatform 。
将其缩放到足以让用户跳上的大小。
将其移到正确的位置,以便您在测试您的体验时可以达到它并跳上它。
将 锚定 属性设置为 真 在 属性 窗口中。
插入脚本
Roblox 中的代码使用了一个名为 Luau 的语言,你可以将脚本放入在 Explorer 中的各个容器中。如果你在 Part 下面放入了脚本,Roblox 将在零件加载到游戏时运行脚本的代码。
在 Explorer 窗口中将鼠标悬停在 DisappearingPlatform 部分上,单击 1>+1> 按钮将新脚本插入平台。将您的新脚本命名为 4>Disappear4>。
删除内部的默认代码。
第一个变量
您的脚本的开始一个好的 idea 变量 对平台。一个变量是一个 名称 与一个 值 关联的。一旦变量被创建,它可以被用过一次又一次。您可以根据需要更改值。
在 Luau 中,变量创建如下: local variableName = variableValue 。
local 指的是变量在脚本的块中使用的时间仅限于声明时。= 用于设置变量的值。变量的名称通常用 camel case 写在开头。这是首个单词的大写,然后每个单词的后都是 1> justLikeThis1> 。
复制以下代码创建一个 变量 对于平台名为 platform ,其值是 script.Parent 。
local platform = script.Parent
消失函数
是时候让平台消失了。 总是最好将特定操作的代码组成一个 函数。 函数是一个名为块代码的名称,它可以帮助您组织您的代码并在多个位置使用它。 在脚本中创建一个 函数 并称之为 1>disappear1>"。 调用脚本中的 4>函数4> 并调用它。
local platform = script.Parent
local function disappear()
end
第一行新的 line 声明 函数 — 它指示函数的开始并将其命名为 disappear 。 代码为函数的第一行和 end 之间。
括号是用于包含额外信息的。你在后续课程中将学习更多关于将信息传递给函数的知识。
零件属性
当平台消失时,它需要隐形,用户需要通过它 — 但您不能只是摧毁平台,因为它需要稍后重新出现。
零件有各种 属性 可以在这里使用。记住,如果您选择它并查看 属性 窗口,您可以查看零件的属性。
通过修改 Transparency 属性,可以使一部分隐形。透明度可以是 0 和 1 之间的值,其中 1 是完全透明的,因此隐形。
CanCollide 属性决定其他部分 (和用户) 是否能正确通过零件。如果您将其设置为 不 ,用户将从平台上掉落。
就像 script.Parent ,属性使用 点 访问。值由平等符号分配。
在 disappear 函数中,将平台的 CanCollide 属性设置为 关闭 。
在下一个行关注中/正在关注,将Transparency属性设置为1。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1end
调用函数
一旦你已经声明了一个函数,你可以通过将其名称与父号在下面写出来来运行它。例如, disappear() 将运行 disappear 函数。这被称为 调用 函数。
调用 函数在脚本结束时。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1enddisappear()测试代码通过按“ 播放 ”按钮。如果您的代码工作,平台应该在用户生成游戏时间已到。
出现功能
您可以轻松地重新使平台重生,通过写一个可以做到正确相反的函数来。
从脚本中删除 disappear() 行。
声明一个名为 appear 的新函数。
在函数身体中,将 CanCollide 属性设置为 true 和 Transparency 属性设置为 2> 02>。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1endlocal function appear()platform.CanCollide = trueplatform.Transparency = 0end
循环代码
平台应该不断消失和重新出现,每次更改之间有几秒钟。 它是不可能写一个无限数量的函数调用 — 幸运的是,使用 而且在 loop 之间 ,你不需要。
一段时间内,内部循环运行代码,直到 声明 后 while 仍然是真实的。这个特定循环需要运行永远,因此声明只能是 true 。创建一个 1> 而且 true1> 循环在脚本结束时。
local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
end
切换平台
在 while 循环中,您需要写代码,以在平台消失和重新出现之间等待几秒钟。
内置函数 task.wait() 可以用于此。在括号中,需要等待的秒数:例如 task.wait(3) 。
三秒是一个合理的起始点,用于每个平台状态之间的时间长度。
- 在而循环中,调用 task.wait() 函数,其中 3 在父号中。
- 调用 disappear 函数。
- 在父级中使用 task.wait() 函数再次调用,此时 3 在括号中。
- 调用 appear 函数。
while true dotask.wait(3)disappear()task.wait(3)appear()end
平台的代码现在已经完成!测试您的代码,您现在应该发现平台在三秒后消失,然后在三秒后重新显示。
您可以复制此平台来覆盖更大的间隙,但您需要在每个脚本中更改等待时间。否则,平台将在同一时间全部消失,用户将永远无法穿越。
最终代码
local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end