TweenBase

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
閲覧できません

中間インタープレーションハンドラーの抽象ベースクラス; Tween の親クラス。

概要

プロパティ

  • 読み取り専用
    複製されていません
    並列読み取り

    Class.Tween アニメーションの現在の状態を表示する読み取り専用プロパティ。

方法

  • Cancel():void

    再生を停止し、tween 変数をリセットします。如果 then call TweenBase:Play()、tween のプロパティは、その目的地にインターポリングされるプレイバーを再生するが、アニメーションの長さを完全に取得するためには、Class.TweenBase:Play を完了する必要があります。

  • Pause():void

    押し停めると、tween のプレイを停止します。進行状況変数をリセットしないので、TweenBase:Play() を呼び出すと、tween はプレイを再開します。

  • Play():void

    汽笛のプレイを開始します。汽笛のプレイがすでに開始されている場合、Play() を呼び出すと、汽笛が完了したか、または停止したかを確認するまで効果がありません(TweenBase:Cancel() またはTweenBase:Pause() によって)。

イベント

プロパティ

PlaybackState

読み取り専用
複製されていません
並列読み取り

Class.Tweenアニメーションの現在のステージを表示する読み取り専用プロパティ。Enum.PlaybackState によって、各ステージの説明が説明されます。Tween:Play() などの関数を使用して変更します。

コードサンプル

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 の再生を停止し、tween 変数をリセットします。

tween の変数をリセットするだけで、 tween によって変更されるプロパティはリセットされません。tween のアニメーションの途中でプロパティをキャンセルすると、プロパティは元の値に戻りません。その一度に戻した後、tween の完全な期間を要するアニメーションを完了するために必要なプロパティです。


戻り値

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

押し停めると、tween のプレイを停止します。進行状況変数をリセットしないので、TweenBase:Play() を呼び出すと、tween はプレイを再開します。

tween の進行状況変数をリセットしたい場合は、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() によって)。

複数のツイーンは同じオブジェクトで同時にプレイされますが、同じプロパティをアニメートする必要はありません。2人のツイーンが同じプロパティを変更しようとすると、最新のツイーンがオーバーライドされ、最新のツイーンによって上書きされます (例を参照してください)。


戻り値

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

tween のプレイが終了すると、または TweenBase:Cancel() で停止すると、ファイアを起動します。

パスを通じて、tween の Enum.PlaybackState を任意の接続された関数に渡して、tween が終了した理由を示すための指示を提供します。tween の呼び出しを 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()