Xu xuất hiện lại
Thuộc phần Lập trình game Roblox trong hành trình Lua của Coddy. Bài học 16 trên 25.
Mỗi đồng xu giờ cho 1 điểm, chỉ một lần. Đồng xu thật nên biến mất, rồi xuất hiện lại để có thể thu thập lần nữa.
Transparency = 1 ẩn một phần, nhưng phần đó vẫn kích hoạt Touched. CanTouch = false khiến một phần ngừng kích hoạt Touched cho đến khi được đặt lại thành true.
Để làm phần đó xuất hiện lại, hãy chờ bên trong hàm Touched rồi hoàn tác các thay đổi. task.wait chỉ tạm dừng hàm này, nên các lần chạm khác vẫn tiếp tục xảy ra và bị bỏ qua khi debounce là true:
local used = false
pad.Touched:Connect(function(hit)
if not used then
used = true
pad.Transparency = 0.5
task.wait(5)
pad.Transparency = 0
used = false
end
end)Tấm đệm mờ dần trong 5 giây sau khi bị chạm, rồi xuất hiện lại và sẵn sàng hoạt động.
Thử thách
Trung bìnhẨn đồng xu đã được nhặt, rồi cho nó xuất hiện lại sau 3 giây.
- Sau dòng lệnh thêm đồng xu, hãy ẩn nó:
coin.Transparency = 1vàcoin.CanTouch = false. - Sau đó, chạy
task.wait(3)rồi hiện đồng xu lại:Transparency0,CanTouchtrue. - Cuối cùng, đặt
collected = falseđể có thể nhặt đồng xu lần nữa.
Nhấn Chơi rồi đi qua một đồng xu: nó biến mất và xuất hiện lại sau 3 giây. Sau đó nhấn Kiểm tra.
Tự làm thử
local Players = game:GetService("Players")
local coins = workspace.Coins
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local coinsValue = Instance.new("IntValue")
coinsValue.Name = "Coins"
coinsValue.Value = 0
coinsValue.Parent = leaderstats
end)
for _, coin in coins:GetChildren() do
local collected = false
coin.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player and not collected then
collected = true
player.leaderstats.Coins.Value += 1
end
end)
end
Tất cả bài học trong Lập trình game Roblox
2Vòng lặp và hàm
Hàng cột trụDựng cầu thangDựng tòa thápNhà máy sản xuất đồng xuĐèn nhấp nháyCây cầu biến mất5Trò chơi đầu tiên của bạn
Obby đầu tiên của bạn3Sự kiện và người chơi
Tấm đệm cảm ứngSàn dung nhamLeaderstatsAi đã chạm vào?Thu thập xuXu xuất hiện lạiCửa xuTự luyện tập: Trình biên dịch Lua online