Menu
CoddyTech

挥剑

Coddy Roblox 游戏:竞技场对战 课程的第 2 课,共 25 课。

手持工具时,单击(或轻触)会触发工具的 Activated 事件,服务器端也会触发。挥砍时会播放 Roblox 自带的剑刃挥砍动画:Animation 用它的 ID 标识动画,角色的 Animator 位于其 Humanoid 中,会将动画加载到轨道中播放:

local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()

如果不设限制,玩家就可以随意快速地单击,因此系统会在一个表中按玩家记录上次挥砍的时间,并拒绝在 Settings.SwingCooldown 秒内再次挥砍。

challenge icon

挑战

简单

点击鼠标挥剑。

  1. 在靠近顶部的位置:local lastSwing = {},以及 slash Animation,id 为 rbxassetid://522635514。
  2. 编写 swing(player):如果角色已死亡,或上次挥剑距现在不到 Settings.SwingCooldown,就返回。
  3. 否则,设置 lastSwing[player] = now,并在 character.Humanoid.Animator 上播放斩击动画。
  4. 将剑的 Activated 连接到 swing(player)。

按“开始”,握住剑并点击鼠标:你的角色就会挥剑。然后点击“检查”。

亲手试试

local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)

print("Swords deal " .. Settings.SwordDamage .. " damage")

-- 第 2 课:在这里编写挥剑代码

-- 每位玩家每次重生都会获得一把剑
Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)

Roblox 游戏:竞技场对战中的所有课

自己练习: Roblox 在线编辑器