中级教程

脚本入门

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

Roblox Studio 入门 中,您学习了如何在 Roblox Studio 中创建和操作部件。在本教程中,您将学习如何将 脚本 应用到部件上,使平台出现和消失。您可以在平台游戏中使用此功能,以跨越间隙,挑战用户仔细把握跳跃时机,以到达另一侧。

设置场景

首先,您需要一个 Part 作为平台。从 Roblox Studio 入门 中,您应该已经熟悉了制作和移动部件。除了平台之外,您不需要一个复杂的世界——您只需要一个用户无法轻易跳过的间隙。

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

  2. 调整其大小,使其足够大以供用户跳跃。

  3. 将其移动到适当的位置,以便在测试体验时能够到达并跳上去。

    alt

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

插入脚本

Roblox 中的代码是用一种叫做 Luau 的语言编写的,可以将其放在 Explorer 中的各种容器中的脚本里。如果您将脚本放在 Part 下,当部件加载到体验中时,Roblox 会运行该脚本的代码。

  1. Explorer 窗口中,将鼠标悬停在 DisappearingPlatform 部件上,然后点击 + 按钮将新脚本插入到平台中。将新脚本重命名为 Disappear

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

第一个变量

在脚本的开头为平台创建一个 变量 是个好主意。变量是与 相关联的 名称。一旦创建了变量,您可以多次使用它。您可以根据需要更改值。

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

术语 local 表示该变量只会在声明它的脚本块中使用。= 符号用于设置变量的值。变量的名称通常用 驼峰式 编写。这是小写字母开头,后面的每个单词首字母大写,例如 justLikeThis

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


local platform = script.Parent

消失函数

是时候让平台消失了。将实现特定操作的代码分组到一个 函数 中总是最好的。函数是一个命名的代码块,帮助您组织代码并在多个地方使用它,而无需重新编写。创建一个名为 disappear函数


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

第一行 声明 了该函数——它表明了函数的开始并将其命名为 disappear。函数的代码写在首行和 end 之间。

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

部件属性

当平台消失时,它需要不可见,并且用户需要能够穿过它——但您不能简单地销毁平台,因为它需要稍后重新出现。

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

通过更改 透明度 属性,可以使部件变得不可见。透明度可以是 0 到 1 之间的值,其中 1 完全透明并因此不可见。

更改立方体的透明度属性

CanCollide 属性决定其他部件(和用户)是否可以穿过该部件。如果将其设置为 false,用户将穿过平台。

更改立方体的 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 属性设置为 true,将 Transparency 属性设置为 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
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。