ロブロックスには、非常に強力で便利な「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 | アニメーションが実行されるスタイル(こちらを参照) |
EasingDirection | EasingStyleが実行される方向 |
RepeatCount | アニメーション が繰り返される回数 |
Reverses | 最初の アニメーション が完了した後、 逆再生するかどうか |
DelayTime | アニメーションを開始するまでに待機する時間(秒単位) |
各パラメータの詳細はこちらの「Tweenアニメーション」にまとめましたのでご覧ください。
[ 第23回 ~テーブルの活用~ ]