脚本介绍

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

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

设置场景

首先,您需要一个 部件 来充当平台。从 Roblox Studio 介绍 中,您应该对创建和移动部件感到熟悉。您不需要一个复杂的世界,只需一个用户无法轻易跳过的间隙即可。

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

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

  3. 将其移动到合适的位置,以便在测试游戏时可以到达并跳上去。

    alt

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

插入脚本

Roblox 中的代码是用一种叫做 Luau 的语言编写的,您可以将其放入 资源管理器 中的各种容器中的脚本中。如果您将脚本放在 部件 下,Roblox 会在部件加载到游戏中时运行脚本的代码。

  1. 在 资源管理器 窗口中,将鼠标悬停在 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 之间。

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

部件属性

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

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

通过更改 Transparency 属性,可以使部件变得不可见。透明度的值可以在 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 是我们在美国及其他国家或地区的注册与未注册商标。