Menu
CoddyTech

按钮门

本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 21 课,共 25 课。

红色按钮和灯一样有一个 ClickDetector。设置 Position 会让部件瞬间移动。要让它滑动,可以使用 TweenService:你只需描述部件最终应该到达的位置,以及移动需要多长时间,Roblox 就会为它制作动画。

local TweenService = game:GetService("TweenService")
local info = TweenInfo.new(2)
local goal = { Transparency = 1 }
local fade = TweenService:Create(workspace.Ghost, info, goal)
fade:Play()

TweenInfo.new(2) 表示 2 秒。目标是一个表,其中包含属性名称和最终值。Create 会创建补间动画,在调用 Play 之前,任何东西都不会移动。补间动画可以改变数字、Position 和 Size 这样的 Vector3 值,以及 Color3 颜色。

challenge icon

挑战

中等

点击红色按钮时,让门向上滑动 10 studs。

  1. 使用已准备好的 info 和 goal 创建补间:TweenService:Create(door, info, goal)。
  2. 连接到 button.ClickDetector.MouseClick,并在其中播放补间,这样门就会等待点击。

按“开始”,走到红色按钮旁并点击它:门会在 1 秒内向上滑动,你就能走过去。然后点击“检查”。

亲手试试

local TweenService = game:GetService("TweenService")
local door = script.Parent
local button = workspace.Button

local info = TweenInfo.new(1)
local goal = { Position = door.Position + Vector3.new(0, 10, 0) }

-- 用 info 和 goal 为 door 创建一个补间动画

-- 点击 button 的 ClickDetector 时播放这个动画

Roblox 游戏脚本编写中的所有课

自己练习: Lua 在线编译器