RobloxStudioで簡単なアニメーションを追加するメモになります。サンプルとしてスライド式ドアの開閉を作成してみます。
はじめに
下記にて、RobloxStudioで簡単なお店を作成しました。今回は簡単なアニメーションをTweenを利用して実装してみます。
製作開始
まずは簡単に動作の確認をしていきます。「Part」から「Block」を追加します。

追加した「Part」の名前を「MovePart」に変更、配下に「ProximityPrompt」と「Script」を追加します。

Scriptの中身を下記に変更します。アクションをトリガーしたときにパーツの位置を変更しています。
local part = workspace.MovePart local prompt = part.ProximityPrompt prompt.Triggered:Connect(function() part.Position = part.Position + Vector3.new(10, 0, 0) end)
実行してパーツの位置が変更されたらOKです。この時、パーツは瞬間移動しています。

Tweenで実装
スクリプトを下記に変更します。
local TweenService = game:GetService("TweenService")
local part = workspace.MovePart
local prompt = part.ProximityPrompt
local goal = {}
local tweenInfo = TweenInfo.new(5)
local tween = nil
prompt.Triggered:Connect(function()
goal.Position = part.Position + Vector3.new(10, 0, 0)
tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
end)
実行してみると下記のように指定した位置までを補間したアニメーションでパーツが移動します。

Tweenの公式リファレンスは下記です。プロパティ、サンプルなどが載っています。
扉の開閉アニメーション
Tweenを利用してスライド式のドアの開閉を実装していきます。まずは枠を作成します。

扉を2枚作成して、片方は動くようにするため「ProximityPrompt」と「Script」を配下に追加します。

Scriptの中身を下記に変更します。
local TweenService = game:GetService("TweenService")
local Movedoor = script.Parent
local prompt = Movedoor.ProximityPrompt
local SlideLength = 9
local goalClose = {}
goalClose.Position = Movedoor.Position
local goalOpen = {}
goalOpen.Position = Movedoor.Position + Vector3.new(SlideLength, 0, 0)
local tweenInfo = TweenInfo.new(1)
local tweenOpen = TweenService:Create(Movedoor, tweenInfo, goalOpen)
local tweenClose = TweenService:Create(Movedoor, tweenInfo, goalClose)
prompt.Triggered:Connect(function()
if prompt.ActionText == "Close" then
tweenClose:Play()
prompt.ActionText = "Open"
else
tweenOpen:Play()
prompt.ActionText = "Close"
end
end)
OPENで指定した距離を移動、CLOSEで元に戻ります。実行して下記のように動けばOKです。

