Menu
CoddyTech

硬币门

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

if 不仅可以检查是否为 nil,还可以比较数字。当比较结果为 false 时,会运行 else 部分:

local score = player.leaderstats.Score.Value
if score >= 10 then
	print("You win!")
else
	print("Keep going")
end

比较运算符包括 ==(等于)、~=(不等于)、<、>、<= 和 >=。注意这里是双写的 ==:单个 = 是把值赋给变量,而不是进行比较。

>= 3 表示“大于或等于 3”;> 3 表示“大于 3”,所以刚好等于 3 时条件不成立。

challenge icon

挑战

中等

只有拥有 3 枚或更多金币的玩家才能打开木门。

  1. 在 coins 这一行下面,如果玩家拥有 3 枚或更多金币,就打开门:将 CanCollide 设为 false,将 Transparency 设为 0.5。
  2. 否则(else),打印 You need 3 coins。

按“开始”:在你收集齐 3 枚金币之前,输出会显示 You need 3 coins;收集齐后,蓝色垫子会打开门。然后按“检查”。

亲手试试

local Players = game:GetService("Players")
local door = script.Parent
local pad = workspace.DoorPad

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if player then
		local coins = player.leaderstats.Coins.Value
		-- 至少有 3 个金币:打开门
		-- 否则:打印 "You need 3 coins"
	end
end)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

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

自己练习: Lua 在线编译器