按钮门
本课属于 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 颜色。
挑战
中等点击红色按钮时,让门向上滑动 10 studs。
- 使用已准备好的
info和goal创建补间:TweenService:Create(door, info, goal)。 - 连接到
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 在线编译器