TweenBase

사용되지 않는 항목 표시

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

만들 수 없음
찾아볼 수 없음

중간 변환 핸들러 사이에서 작동하는 기본 클래스; Tween 의 부모 클래스.

요약

속성

  • 읽기 전용
    복제되지 않음
    병렬 읽기

    Class.Tween 애니메이션의 현재 상태를 표시하는 읽기 전용 속성입니다.

메서드

  • Cancel():void

    재생을 중지하고 트윈 변수를 재설정합니다. TweenBase:Play() 를 호출하면 트윈의 속성이 대상에 대해 인터폴레이션되지만, 전체 길이의 애니메이션을 수행하려면 애니메이션 길이를 가져옵니다.

  • Pause():void

    트위 플레이를 중지합니다. 진행 변수를 초기화하지 않으므로 TweenBase:Play() 를 호출하면 트위 플레이가 중지된 때부터 재생됩니다.

  • Play():void

    트위니의 재생을 시작합니다. 재생이 이미 시작된 경우, Play() 을 호출하면 트위니가 완료되거나 중지(TweenBase:Cancel() 또는 TweenBase:Pause() 되지 않습니다.

이벤트

속성

PlaybackState

읽기 전용
복제되지 않음
병렬 읽기

Class.Tween 애니메이션의 현재 단계를 표시하는 읽기 전용 속성입니다. Enum.PlaybackState 의 설명은 Tween:Play() 의 설명과 동일합니다. 1>Class.Tween:Play1> 함수를 사용하여 변경합니다.

코드 샘플

Tween PlaybackState

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Orientation = Vector3.new(0, 90, 0)
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 2, true, 0.5)
local tween = TweenService:Create(part, tweenInfo, goal)
local function onPlaybackChanged()
print("Tween status has changed to:", tween.PlaybackState)
end
local playbackChanged = tween:GetPropertyChangedSignal("PlaybackState")
playbackChanged:Connect(onPlaybackChanged)
tween:Play()

메서드

Cancel

void

Class.Tween의 재생을 중지하고 트윈 변수를 재설정합니다.

트위ン 변수만 재설정하고 트위ン으로 변경되는 속성은 재설정하지 않습니다. 애니메이션 중에 트위ン을 중간에 취소하면 속성이 원래 값으로 재설정되지 않습니다. 이 경우 TweenBase:Pause() 에서 트위ン 재설정 기간을 완료하는 데 필요한 전체 트위ン 기간을 초과합니다


반환

void

코드 샘플

Tween Cancel

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(0, 50, 0)
local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(2.5)
tween:Cancel()
local playTick = tick()
tween:Play()
tween.Completed:Wait()
local timeTaken = tick() - playTick
print("Tween took " .. tostring(timeTaken) .. " secs to complete")
-- The tween will take 5 seconds to complete as the tween variables have been reset by tween:Cancel()

Pause

void

트위 플레이를 중지합니다. 진행 변수를 초기화하지 않으므로 TweenBase:Play() 를 호출하면 트위 플레이가 중지된 때부터 재생됩니다.

트위 진행 변수를 초기화하려면 TweenBase:Cancel() 을 사용하십시오.

Class.TweenBase.PlaybackState|PlaybackState 의 Enum. PlaybackState.Playing 에 있는 트위너만 일시 중지할 수 있습니다


반환

void

코드 샘플

Pausing a Tween

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.BrickColor = BrickColor.new("Bright green")
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(50, 10, 0)
local tweenInfo = TweenInfo.new(10, Enum.EasingStyle.Linear)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(3)
part.BrickColor = BrickColor.new("Bright red")
tween:Pause()
task.wait(2)
part.BrickColor = BrickColor.new("Bright green")
tween:Play()

Play

void

트위니의 재생을 시작합니다. 재생이 이미 시작된 경우, Play() 을 호출하면 트위니가 완료되거나 중지(TweenBase:Cancel() 또는 TweenBase:Pause() 되지 않습니다.

여러 명의 십대는 동일한 개체에서 동시에 재생될 수 있지만, 동일한 속성을 애니메이션하지 않아야 합니다. 두 명의 십대가 동일한 속성을 수정하려고 시도하면 초기 트윈이 취소되고 가장 최근의 트윈에 덮어씁니다(예시 참조).


반환

void

코드 샘플

Tween Creation

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Color = Color3.new(1, 0, 0)
part.Anchored = true
part.Parent = game.Workspace
local goal = {}
goal.Position = Vector3.new(10, 10, 0)
goal.Color = Color3.new(0, 1, 0)
local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
Tween Conflict

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = game.Workspace
local tweenInfo = TweenInfo.new(5)
-- create two conflicting tweens (both trying to animate part.Position)
local tween1 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 10, 20) })
local tween2 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
-- listen for their completion status
tween1.Completed:Connect(function(playbackState)
print("tween1: " .. tostring(playbackState))
end)
tween2.Completed:Connect(function(playbackState)
print("tween2: " .. tostring(playbackState))
end)
-- try to play them both
tween1:Play()
tween2:Play()

이벤트

Completed

트위닝이 플레이를 완료하거나 TweenBase:Cancel() 으로 중지되면 화재됩니다.

패스 트위너의 Enum.PlaybackState를 연결된 함수에 전달하여 트위너가 끝난 이유를 나타내는 표시를 제공합니다. TweenBase:Pause()를 호출하면 Completed 이벤트가 실행되지 않습니다.

매개 변수

playbackState: Enum.PlaybackState

완료 시의 Enum.PlaybackState 트윈.


코드 샘플

Tween Completed

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local SLOW_DURATION = 10
local function slowCharacter(humanoid)
local goal = {}
goal.WalkSpeed = 0
local tweenInfo = TweenInfo.new(SLOW_DURATION)
local tweenSpeed = TweenService:Create(humanoid, tweenInfo, goal)
tweenSpeed:Play()
return tweenSpeed
end
local function onCharacterAdded(character)
local humanoid = character:WaitForChild("Humanoid")
local initialSpeed = humanoid.WalkSpeed
local tweenSpeed = slowCharacter(humanoid)
tweenSpeed.Completed:Wait()
humanoid.WalkSpeed = initialSpeed
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Tween Conflict

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = game.Workspace
local tweenInfo = TweenInfo.new(5)
-- create two conflicting tweens (both trying to animate part.Position)
local tween1 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 10, 20) })
local tween2 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
-- listen for their completion status
tween1.Completed:Connect(function(playbackState)
print("tween1: " .. tostring(playbackState))
end)
tween2.Completed:Connect(function(playbackState)
print("tween2: " .. tostring(playbackState))
end)
-- try to play them both
tween1:Play()
tween2:Play()
Verifying a Tween has Completed

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 50, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(0, 0, 0)
local tweenInfo = TweenInfo.new(3)
local tween = TweenService:Create(part, tweenInfo, goal)
local function onTweenCompleted(playbackState)
if playbackState == Enum.PlaybackState.Completed then
local explosion = Instance.new("Explosion")
explosion.Position = part.Position
explosion.Parent = workspace
part:Destroy()
task.delay(2, function()
if explosion then
explosion:Destroy()
end
end)
end
end
tween.Completed:Connect(onTweenCompleted)
tween:Play()