Track

트랙 관련 제어를 하는 객체에요.

함수

void AddLocalMove(string TrackName, Vector Pos, number Time, bool CheckCollision)

로컬 좌표를 기준으로 이동 변화를 추가할 수 있어요. (설정할 Track 이름, 이동 변화를 줄 값, 완료까지 걸리는 시간, 충돌 처리 여부)

-- 샘플 --

local cube = Workspace.Cube
local pos = Vector.new(0, 500, 0)
local moveSpeed = 2
local waitTime = 1

cube.Track:AddLocalMove("Move", Vector.new(pos.X, pos.Y, pos.Z), moveSpeed, false) --이동 트랙을 등록해요. (이동 트랙은 여러개도 등록할 수 있어요.)
cube.Track:AddEmpty("Move", waitTime) --대기 트랙을 등록해요.
cube.Track:AddLocalMove("Move", Vector.new(-pos.X, -pos.Y, -pos.Z), moveSpeed, false)
cube.Track:AddEmpty("Move", waitTime)
cube.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void AddLocalRot(string TrackName, Vector Rot, number Time)

로컬 좌표를 기준으로 회전 변화를 추가할 수 있어요. (설정할 Track 이름, 회전 변화를 줄 값, 완료까지 걸리는 시간)

-- 샘플 --

local cube = Workspace.Cube
local moveSpeed = 2

cube.Track:AddLocalRot("Rot", Vector.new(0, 0, 360), moveSpeed) --회전 트랙을 등록해요.
cube.Track:AddLocalRot("Rot", Vector.new(0, 360, 0), moveSpeed) --회전 트랙은 여러개도 등록할 수 있어요.
cube.Track:PlayTransformTrack("Rot", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void AddLocalScale(string TrackName, Vector Scale, number Time)

로컬 좌표를 기준으로 스케일 변화를 추가할 수 있어요. (설정할 Track 이름, 스케일 변화를 줄 값, 완료까지 걸리는 시간)

-- 샘플 --

local cube = Workspace.Cube
local moveSpeed = 2

cube.Track:AddLocalScale("Size", Vector.new(0.6, 0.6, 0.6), moveSpeed) --크기 트랙을 등록해요.
cube.Track:AddLocalScale("Size", Vector.new(-0.6, -0.6, -0.6), moveSpeed) --크기 트랙은 여러개도 등록할 수 있어요.
cube.Track:PlayTransformTrack("Size", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void AddWorldMove(string TrackName, Vector Pos, number Time, bool CheckCollision)

월드 좌표를 기준으로 이동 변화를 추가할 수 있어요. (설정할 Track 이름, 이동 변화를 줄 값, 완료까지 걸리는 시간, 충돌 처리 여부)

-- 샘플 --

local cube = Workspace.Cube
local pos = Vector.new(0, 500, 0)
local moveSpeed = 2
local waitTime = 1

cube.Track:AddWorldMove("Move", Vector.new(pos.X, pos.Y, pos.Z), moveSpeed, false) --이동 트랙을 등록해요. (이동 트랙은 여러개도 등록할 수 있어요.)
cube.Track:AddEmpty("Move", waitTime) --대기 트랙을 등록해요.
cube.Track:AddWorldMove("Move", Vector.new(-pos.X, -pos.Y, -pos.Z), moveSpeed, false)
cube.Track:AddEmpty("Move", waitTime)
cube.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void AddWorldRot(string TrackName, Vector Rot, number Time)

월드 좌표를 기준으로 회전 변화를 추가할 수 있어요. (설정할 Track 이름, 회전 변화를 줄 값, 완료까지 걸리는 시간)

-- 샘플 --

local cube = Workspace.Cube
local moveSpeed = 2

cube.Track:AddWorldRot("Rot", Vector.new(0, 0, 360), moveSpeed) --회전 트랙을 등록해요.
cube.Track:AddWorldRot("Rot", Vector.new(0, 360, 0), moveSpeed) --회전 트랙은 여러개도 등록할 수 있어요.
cube.Track:PlayTransformTrack("Rot", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void AddEmpty(string TrackName, number Time)

객체 변환에 대기 시간을 추가할 수 있어요. (추가할 Track 이름, 대기 시간)

-- 샘플 --

local cube = Workspace.Cube
local pos = Vector.new(0, 500, 0)
local moveSpeed = 2
local waitTime = 1

cube.Track:AddLocalMove("Move", Vector.new(pos.X, pos.Y, pos.Z), moveSpeed, false) --이동 트랙을 등록해요. (이동 트랙은 여러개도 등록할 수 있어요.)
cube.Track:AddEmpty("Move", waitTime) --대기 트랙을 등록해요.
cube.Track:AddLocalMove("Move", Vector.new(-pos.X, -pos.Y, -pos.Z), moveSpeed, false)
cube.Track:AddEmpty("Move", waitTime)
cube.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void PlayTransformTrack(string TrackName, TransformPlayType Type, number PlayCount)

설정된 변환 컨트롤러를 실행시켜요. (실행할 Track 이름, Enum.TransformPlayType.타입 , 실행 횟수)

-- 샘플 --

local cube = Workspace.Cube
local pos = Vector.new(0, 500, 0)
local moveSpeed = 2
local waitTime = 1

cube.Track:AddLocalMove("Move", Vector.new(pos.X, pos.Y, pos.Z), moveSpeed, false) --이동 트랙을 등록해요.
cube.Track:AddLocalMove("Move", Vector.new(0, 0, 0), waitTime, false) --이동 트랙은 여러개도 등록할 수 있어요.
cube.Track:AddLocalMove("Move", Vector.new(-pos.X, -pos.Y, -pos.Z), moveSpeed, false)
cube.Track:AddLocalMove("Move", Vector.new(0, 0, 0), waitTime, false)
cube.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, InfinityPlay) --이름에 해당하는 트랙을 재생해요.

void StopTransformTrack(string TrackName)

변환 컨트롤러를 정지시켜요. (정지할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube
cube.Track:StopTransformTrack("Move") --이름에 해당하는 트랙을 멈춰요.

void PauseTransformTrack(string TrackName)

변환 컨트롤러를 일시 정지시켜요 (일시 정지할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube
cube.Track:PauseTransformTrack("Move") --이름에 해당하는 트랙을 일시정지해요.

void ResumeTransformTrack(string TrackName)

변환 컨트롤러를 다시 플레이시켜요. (플레이할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube
cube.Track:ResumeTransformTrack("Move") --이름에 해당하는 일시정지된 트랙을 다시 재생해요.

bool IsPlayingTransformTrack(string TrackName)

해당 TransformTrack이 플레이 중인지 확인할 수 있어요. (확인할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube

if cube.Track:IsPlayingTransformTrack("Move") == true then --이름에 해당하는 트랙이 재생중이면 true를 반환해요.
    print("Track is Playing")
end

void ResetTransformTrack(string TrackName)

해당 TransformTrack 이 적용되기 전의 Transform으로 리셋시켜요. (리셋할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube
cube.Track:ResetTransformTrack("Move") --이름에 해당하는 트랙이 적용되기전의 트랜스폼으로 리셋해요. (트랙이 멈추진 않아요.)

void RemoveTransformTrack(string TrackName)

해당 Track을 제거해요. (제거할 Track 이름)

-- 샘플 --

local cube = Workspace.Cube
cube.Track:RemoveTransformTrack("Move") --이름에 해당하는 트랙을 제거해요.

void ResetTransform()

TransformTrack 이 적용되기 전의 최초 Transform으로 리셋시켜요.

-- 샘플 --

local cube = Workspace.Cube
cube.Track:ResetTransform() --적용되기전의 트랜스폼으로 리셋해요. (트랙이 멈추진 않아요.)

void SetEndEventTransformTrack(string TrackName, function TargetFunction)

TransformTrack 이 끝나면 등록한 function 을 호출합니다.

-- 샘플 --

local cube = Workspace.Cube
local pos = Vector.new(200, 0, 0)
local moveSpeed = 2

cube.Track:AddLocalMove("Move", pos, moveSpeed, false)

local function EndMove()
    print("EndMove!")
end
cube.Track:SetEndEventTransformTrack("Move", EndMove) --이름에 해당하는 트랙이 끝나면 호출되는 함수를 연결해요.

cube.Track:PlayTransformTrack("Move", Enum.TransformPlayType.Repeat, 1)

Last updated

Was this helpful?