動く足場
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 21/24。
TweenInfo.newには時間以外の値も指定します。値は次の順です。
- 秒単位の時間
- イージングスタイル。たとえば
Enum.EasingStyle.Sine:動きに合わせて速度がどのように変化するか - イージング方向:
In、Out、またはInOut - 繰り返し回数:追加で再生する回数。無限に繰り返す場合は
-1 - 逆再生:各実行後に逆方向へ再生する場合は
true - 遅延:開始前に待機する秒数
local info = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 2, false)これは3回(1回と、追加の繰り返し2回)再生され、各実行に1秒かかり、実行の合間に開始位置へ戻ります。
SineとInOutを使うと、ゆっくり始まり、中間で速くなり、最後にまたゆっくりになります。プラットフォームを動かすのに自然な動きです。Linearでは、最初から最後まで速度が一定です。
トゥイーンで動くプラットフォームは、プレイヤーを横方向に運びません。プレイヤーはプラットフォームに合わせて歩く必要があります。
チャレンジ
中級青いプラットフォームは Z 10 と Z -10 の間を滑らかに移動し続けるはずです。スクリプトでは、一度だけそこまでトゥイーンします。
TweenInfo だけを変更して、プラットフォームが次のようになるようにします。
SineInOutのイージングで、片道に3秒かかる- 終点に到達した後、戻ってくる
- 決して停止しない
Play を押して動きを確認し、次に Check を押してください。
自分で試してみよう
local TweenService = game:GetService("TweenService")
local platform = script.Parent
-- TweenInfo.new(time, style, direction, repeatCount, reverses)
local info = TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local goal = { Position = Vector3.new(0, 10, -10) }
local tween = TweenService:Create(platform, info, goal)
tween:Play()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ