介绍脚本

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox Studio 介绍 中,你学习了如何在 Roblox Studio 中创建和操作零件。在本教程中,你将学习如何将 脚本 应用到零件上,使平台出现并消失。您可以在平台体验中使用此功能来缩小差距,挑战用户仔细计时跳跃到另一边。

设置场景

首关闭,你需要一个 零件 来作为平台。制作和移动零件应该在 Roblox Studio 介绍 中对你熟悉。除了平台之外,你不需要一个复杂的世界——你只需要一个间隙,你的用户无法轻松跳过。

  1. 插入一个 零件 并将其重命名为 DisappearingPlatform .

  2. 将其调整为足够大,以便用户可以跳上。

  3. 将其移至正确的位置,以便您可以达到它并在测试体验时跳上它。

  4. 属性 窗口中将 锚定 属性设置为 true

插入脚本

Roblox 中的代码使用了一种叫做 Luau 的语言,您可以将其放入 Explorer 中的各种容器中的脚本。如果你在 零件 下放置了一个脚本,Roblox 将在零件加载到游戏时运行脚本的代码。

  1. 将鼠标悬停在 DisappearingPlatform 部分上的 Explorer 窗口,然后单击 + 按钮,将新脚本插入平台。将你的新脚本重命名为 消失 .

  2. 删除内部的默认代码。

第一个变量

将脚本开始通过为平台创建 变量 来启动您的脚本是一个好主意。变量是与 相关的 名称 .一旦变量被创建,它可以再次使用。您可以根据需要更改值。

在 Luau 中,变量以下方式创建:local variableName = variableValue

术语 local 意味着变量只能在声明的脚本块中使用。= 标志用于设置变量的值。变量名通常以 驼壳形式 写入。这是每个单词都跟随第一个大写字母的小写字母,justLikeThis

复制以下代码以创建一个名为 变量 的平台,其值为 .


local platform = script.Parent

消失函数

是时候让平台消失了。实现特定操作的代码总是最好组成一个 函数 。函数是一个命名的代码块,可以帮助你组织你的代码并在多个地方使用它,而不需要再次编写它。在脚本中创建一个 函数 并调用它 disappear .


local platform = script.Parent
local function disappear()
end

第一行新声明 宣布 函数 — 它表示函数的开始并将其命名为 disappear 。函数的代码位于第一行和 end 之间。

括号用于包含额外信息,根据需要。你将在以后的课程中学习更多关于向函数传递信息的内容。

零件属性

当平台消失时,它需要是隐形的,用户需要通过它掉落—但你不能只是摧毁平台,因为它需要稍后重新出现。

零件有各种 属性 可以在这里使用。请记住,如果您选择并查看 属性 窗口,您可以看到零件的属性。

通过更改 Transparency 属性,零件可以被隐藏。透明度可以在 0 和 1 之间,其中 1 完全透明且因此隐形。

改变立方体的透明属性

CanCollide 属性决定其他部分(和用户)是否可以直接通过零件。如果您将其设置为 ,用户将通过平台掉落。

改变立方体的 CanCollide 属性

script.Parent 相同,属性使用 访问。值使用等号符号进行分配。

  1. disappear 函数中,将平台的 CanCollide 属性设置为 false

  2. 在接下来的线关注中/正在关注,将 Transparency 属性设置为 1


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end

调用函数

一旦你宣言了一个函数,你可以通过在其名称旁边写括号来运行它。例如, disappear() 将运行 disappear 函数。这被称为 调用 函数。

  1. 调用 脚本结束时的 disappear 函数。


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end
    disappear()
  2. 通过按下 播放 按钮来测试代码。如果您的代码正常运行,平台应该在用户生成到游戏时消失。

出现函数

您可以轻松地使平台重新出现,通过写一个函数来做出与 disappear 函数正相反的操作。

  1. 从脚本中删除 disappear() 行。

  2. 宣言一个新函数叫 appear

  3. 在函数身体中,将 CanCollide 属性设置为 trueTransparency 属性设置为 0


    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 循环 ,你不必这样做。

一个 while 循环在 声明 之后运行内部代码,直到 while 仍然真实。这个特定循环需要永远运行,因此声明应该只是 true 。在脚本末尾创建一个 while true 循环。


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)

三秒是每个平台状态之间的时间长度的合理起点。

  1. 在 while 循环中,在括号中调用 task.wait() 函数,使用 3 调用。
  2. 调用 disappear 函数。
  3. 再次调用 task.wait() 函数,使用 3 在括号中。
  4. 调用 appear 函数。

while true do
task.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