Vung kiếm
Bài học 2 trên 25 trong khóa học Trò chơi Roblox: Đấu trường của Coddy.
Khi cầm công cụ, một cú nhấp (hoặc chạm) sẽ kích hoạt sự kiện Activated của công cụ, cả trên máy chủ. Một cú vung sẽ phát hoạt ảnh chém kiếm của Roblox: một Animation xác định hoạt ảnh bằng id của nó, còn Animator của nhân vật, nằm bên trong Humanoid, tải hoạt ảnh vào một track để phát:
local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()Nếu không giới hạn, người chơi có thể nhấp nhanh tùy ý, vì vậy trò chơi lưu thời điểm vung gần nhất của từng người chơi trong một bảng và từ chối cú vung tiếp theo nếu chưa đủ Settings.SwingCooldown giây.
Thử thách
DễVung kiếm bằng cách nhấp chuột.
- Gần đầu tệp:
local lastSwing = {}và hoạt ảnhslash, idrbxassetid://522635514. - Viết
swing(player): thoát hàm nếu nhân vật đã chết hoặc mới vung kiếm cách đây chưa đủSettings.SwingCooldown. - Nếu không, đặt
lastSwing[player] = nowrồi phát hoạt ảnh chém trêncharacter.Humanoid.Animator. - Kết nối
Activatedcủa kiếm vớiswing(player).
Nhấn Chơi, cầm kiếm rồi nhấp chuột: nhân vật của bạn sẽ vung kiếm. Sau đó nhấn Kiểm tra.
Tự làm thử
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)
print("Swords deal " .. Settings.SwordDamage .. " damage")
-- Bài học 2: Thêm động tác vung kiếm ở đây
-- Mỗi người chơi nhận một thanh kiếm mỗi khi hồi sinh
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function()
local sword = ServerStorage.Sword:Clone()
sword.Parent = player.Backpack
end)
end)
Tất cả bài học trong Trò chơi Roblox: Đấu trường
Tự luyện tập: Playground Roblox