触摸板
本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 11 课,共 25 课。
到目前为止,你的脚本都是在开始时运行的。游戏会对玩家的操作做出反应,Roblox 会通过事件告诉你这些操作。每当有东西碰到一个部件时,这个部件的 Touched 事件就会触发。你可以将一个函数连接到该事件,Roblox 会在每次触碰时运行这个函数:
local bell = script.Parent
bell.Touched:Connect(function(hit)
print("Ding!")
end)这个函数会收到 hit,也就是碰到该部件的那个部件。当玩家走到铃铛上时,hit 是玩家身体的一部分,比如 Left Leg(在较新的角色模型中是 LeftFoot),所以 hit.Name 会告诉你是哪一部分。
上面的函数直接写在 Connect(...) 里面,而且没有名称:它只在响应事件时存在。
挑战
中等让灰色垫子在被碰到时做出反应。
- 在 Touched 函数中,添加
print(hit.Name):显示碰到垫子的部件。 - 在它下面,将垫子变成绿色:
pad.Color = Color3.fromRGB(0, 255, 0)。
按“运行”,然后踩上垫子:垫子会变成绿色,输出中会显示一个身体部件,例如 Left Leg。然后按“检查”。
亲手试试
local pad = script.Parent
pad.Touched:Connect(function(hit)
-- 1. 输出碰到垫子的部件名称
-- 2. 将垫子变成绿色
end)
Roblox 游戏脚本编写中的所有课
自己练习: Lua 在线编译器