第22回 ~Tweenアニメーション~

ロブロックスには、非常に強力で便利な「Tween」サービスというものがあります。このサービスを知るまでは、forやwhileなどで座標をコントロールしていました。これを知ってからは専らこのサービスを利用しています。さらに、次のステップに繋がる「配列(テーブル)」も登場します。

登場する英単語

英単語読み方解説
TweenService トゥイーンサービスアニメーション処理を行うサービス
CFrameシ―フレームPartの位置、回転角などの情報を含む
TweenInfo トゥイーンインフォTweenの情報を含むクラス
Createクリエイト TweenServiceの関数、オブジェクトを作成
PlayプレイTweenアニメーションを実行
CompletedコンプリーテッドTweenアニメーション終了時に呼ばれる

チェックポイント

  • TweenServiceはアニメーション処理するサービス
  • テーブル変数は「={ }」で作成できる
  • テーブルは「配列」とも言う
  • テーブルとは複数のデータを1つの変数にパックしたもの
  • テーブルの1要素への代入は「変数名[ ]」となる
  • [ ]の中には数字や文字が指定できる
  • 文字で指定した場合、それを「キー」という
  • Tweenの場合、キーにはプロパティ名を指定する
  • アニメーションの設定情報は「TweenInfo」で指定する
  • TweenServiceのCreate」のパラメーターで、アニメーションしたいオブジェクト、TweenInfo、テーブルを渡す
  • Cretaeで作成したオブジェクトの関数「Play」でアニメーションを再生する
  • Tweenはすぐに制御が戻る
  • アニメーション終了時に行いたい処理は、「Completed」を使用する
local TweenService = game:GetService("TweenService")

local part = script.Parent
local part2 = script.Part2

local goal = {}
goal["Size"] = part2.Size
goal["Color"] = part2.Color
goal["CFrame"] = part2.CFrame

local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)

wait(3)
tween:Play()

tween.Completed:Connect(function()
    print("Finish")
end)

ステップアップ

TweenServiceは、Partだけではなく、他のオブジェクトでも使用できます。また「TweenInfo」は再生時間の他、次の項目が指定できます。

TweenInfo.new(Time, EasingStyle, EasingDirection, RepeatCount, Reverses, DelayTime)
パラメータ解説
Timeアニメーションの再生時間(秒)
EasingStyleアニメーションが実行されるスタイル(こちらを参照
EasingDirectionEasingStyleが実行される方向
RepeatCountアニメーション が繰り返される回数
Reverses最初の アニメーション が完了した後、 逆再生するかどうか
DelayTimeアニメーションを開始するまでに待機する時間(秒単位)

各パラメータの詳細はこちらの「Tweenアニメーション」にまとめましたのでご覧ください。

コメントを残す