Menu
CoddyTech

휘두르기

Coddy의 Roblox 게임: 배틀그라운드 코스 레슨. 20개 중 2번째.

도구를 손에 들고 클릭(또는 탭)하면 서버에서도 Tool의 Activated 이벤트가 발생합니다. 휘두를 때 Roblox 자체의 검 휘두르기 동작을 재생합니다. Animation은 ID로 애니메이션을 지정하고, Humanoid 안에 있는 캐릭터의 Animator가 애니메이션을 트랙에 불러와 재생합니다.

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

제한이 없으면 플레이어는 원하는 만큼 빠르게 클릭할 수 있으므로, 휘두를 때마다 플레이어별로 테이블에 마지막 휘두른 시점을 기록하고 Settings.SwingCooldown초 안에는 다시 휘두르지 못하게 합니다.

challenge icon

챌린지

쉬움
  1. 상단 가까이에 local lastSwing = {}과 slash Animation(rbxassetid://522635514 ID)을 추가하세요.
  2. PlayerAdded 위에 swing(player)을 작성하세요. 플레이어에게 살아 있는 캐릭터가 없거나 마지막으로 휘두른 지 Settings.SwingCooldown보다 짧은 시간이 지났다면 반환하고, 그렇지 않으면 시간을 기억한 뒤 해당 Animator에서 slash를 재생하세요.
  3. 검을 지급하는 곳에서 검의 Activated를 swing(player)에 연결하세요.

Play를 눌러 검을 들고 클릭하세요. 그런 다음 Check를 누르세요.

직접 해보기

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

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

-- 모든 플레이어는 리더보드에 Kills가 표시되고, 새 생명이 시작될 때마다 검을 받습니다
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local kills = Instance.new("IntValue")
	kills.Name = "Kills"
	kills.Parent = leaderstats

	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Roblox 게임: 배틀그라운드의 모든 레슨