Debris

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음
서비스

잔해 서비스는 객체를 포기하지 않고 보장된 파괴를 예약할 수 있습니다.

장점

메시를 만드는 것 외에도 필요하지 않은 개체는 시스템 메모리를 사용하고 경험을 더 느리게 실행하게 할 수 있습니다. 이 때문에 필요하지 않은 개체에는 항상 Instance:Destroy()를 호출하는 것이 좋습니다. 일부 경우, 하지만, 개체에 특정 기간의 유틸리

벽을 개별 벽돌로 부숴 칠 수 있습니다. 벽을 3초 동안 떠나지 않고 살려고 하는 경우 다음 코드를 사용할 수 있습니다.


task.wait(3)
brick:Destroy()

그러나 대기 상태에서는 스레드가 생성되어 원하지 않는 경우가 있습니다. 대기 상태를 피하려면 3초 후에 새로운 스레드에서 콜백 함수를 예약할 수 있습니다.


task.delay(3, function()
brick:Destroy()
end)

또는 한 줄에:


task.delay(3, brick.Destroy, brick)

이제는 렌더링을 피하지만 스크립트가 렌더링되기 전에 해제되거나 삭제되면 예약된 콜백이 실행되지 않습니다.

여기에서 Debris 는 현재 스레드를 생성하지 않으며 스크립트의 컨텍스트 밖에서 실행되므로 인스턴스가 결국 파괴되더라도 인스턴스가 파괴되는 것을 보장합니다. 다음 코드는 인스턴스가 파괴되더라도 생성하지 않고 보장하지 않습니다.


Debris:AddItem(brick, 3)

Class.Debris는 하드코딩된 최대 개체 1,000개가 있으므로 1,000개 이상의 개체가 추가되면 가장 오래된 부품이 즉시 삭제되어 새 부품을 만들 수 있습니다.

코드 샘플

Debris AddItem

local Debris = game:GetService("Debris")
local ball = Instance.new("Part")
ball.Anchored = false
ball.Shape = Enum.PartType.Ball
ball.TopSurface = Enum.SurfaceType.Smooth
ball.BottomSurface = Enum.SurfaceType.Smooth
ball.Size = Vector3.new(1, 1, 1)
local RNG = Random.new()
local MAX_VELOCITY = 10
while true do
local newBall = ball:Clone()
newBall.BrickColor = BrickColor.random()
newBall.CFrame = CFrame.new(0, 30, 0)
newBall.Velocity = Vector3.new(
RNG:NextNumber(-MAX_VELOCITY, MAX_VELOCITY),
0,
RNG:NextNumber(-MAX_VELOCITY, MAX_VELOCITY)
)
newBall.Parent = game.Workspace
Debris:AddItem(newBall, 2)
task.wait(0.1)
end

속성

메서드

AddItem

void

지정된 Instance 을 지정된 lifetime 의 내에서 파괴합니다. Instance:Destroy() 인수가 만료된 후 개체는 동일한 방식으로 파괴됩니다. 참고 2>Class.Instance:Destroy2> 인수가 만료되면 기본적으로 10초 동안 개체가 파�

Class.Debris는 하드코딩된 최대 1,000개의 개체를 가지고 있으므로 1,000개 이상의 개체가 추가되면 가장 오래된 부품이 즉시 삭제되고 새 부품이 추가되면 이전 부품이 즉시 삭제됩니다. 즉, 이 lifetime 매개

매개 변수

item: Instance

Class.Instance 를 Debris 에 추가하십시오.

lifetime: number

Class.Instance 이 파괴될 때까지 남은 시간.

기본값: 10

반환

void

코드 샘플

Debris AddItem

local Debris = game:GetService("Debris")
local ball = Instance.new("Part")
ball.Anchored = false
ball.Shape = Enum.PartType.Ball
ball.TopSurface = Enum.SurfaceType.Smooth
ball.BottomSurface = Enum.SurfaceType.Smooth
ball.Size = Vector3.new(1, 1, 1)
local RNG = Random.new()
local MAX_VELOCITY = 10
while true do
local newBall = ball:Clone()
newBall.BrickColor = BrickColor.random()
newBall.CFrame = CFrame.new(0, 30, 0)
newBall.Velocity = Vector3.new(
RNG:NextNumber(-MAX_VELOCITY, MAX_VELOCITY),
0,
RNG:NextNumber(-MAX_VELOCITY, MAX_VELOCITY)
)
newBall.Parent = game.Workspace
Debris:AddItem(newBall, 2)
task.wait(0.1)
end

이벤트