--추가한 변수가 Script 자신에게 있으면
local MoveSpeed = Script.MoveSpeed
local JumpSpeed = Script.JumpSpeed
--추가한 변수가 오브젝트나 다른 스크립트에 있으면
local Toy = Script.Parent
local Damage = Toy.Damage
local BulletSpeed = Toy.Bullet.BulletServerScript.BulletSpeed
--스태틱메쉬나 콜라이더의 Collision 프로퍼티가 true면 동작합니다.
local Cube = Workspace.Cube
--충돌영역에 대상이 있을때 호출됩니다.
--충돌영역 안에서 대상이 움직일때도 호출됩니다.
local function Collision(self, target)
if target == nil or not target:IsCharacter() then
return
end
print("Target : " .. target.Name)
end
Cube.Collision.OnCollisionEvent:Connect(Collision)
--콜라이더의 Collision 프로퍼티가 false면 동작합니다.
local BoxCollider = Workspace.BoxCollider
--충돌영역에 대상이 닿았을때 호출됩니다.
local function EnterTrigger(self, target)
if target == nil or not target:IsCharacter() then
return
end
print("Enter Target : " .. target.Name)
end
Cube.Collision.OnBeginOverlapEvent:Connect(EnterTrigger)
--충돌영역 안에 대상이 있을때 계속 호출됩니다.
local function UpdateTrigger(self, target)
if target == nil or not target:IsCharacter() then
return
end
print("Update Target : " .. target.Name)
end
Cube.Collision.OnOverlapUpdateEvent:Connect(UpdateTrigger)
--충돌영역에서 대상이 나갔을때 호출됩니다.
local function ExitTrigger(self, target)
if target == nil or not target:IsCharacter() then
return
end
print("Exit Target : " .. target.Name)
end
Cube.Collision.OnEndOverlapEvent:Connect(ExitTrigger)
local cube = Workspace.Cube
local createPos = Vector.new(1, 3, 2)
--Clone처럼 동작합니다.
local temp = Game:CreateSyncObject(cube, createPos, "Cube", Workspace)
wait(2)
--Destroy처럼 동작합니다.
Game:DeleteObject(temp)
local ObjectList = Workspace:GetChildList()
--#ObjectList는 transform.childCount처럼 동작합니다.
for i = 1, #ObjectList, 1 do
print(ObjectList[i].Name)
end