Menu
CoddyTech

ボタン式ドア

CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 20/24。

赤いボタンには、ランプと同じようにClickDetectorがあります。Positionを設定すると、パーツは瞬時に移動します。滑らかに移動させるには、TweenServiceを使います。パーツの移動先と所要時間を指定すると、Robloxがアニメーションさせます。

local TweenService = game:GetService("TweenService")
local info = TweenInfo.new(2)
local goal = { Transparency = 1 }
local fade = TweenService:Create(workspace.Ghost, info, goal)
fade:Play()

TweenInfo.new(2)は2秒を意味します。goalは、プロパティ名と最終的な値をまとめたテーブルです。Createでトゥイーンを作成しますが、Playを呼び出すまでは何も動きません。トゥイーンでは、数値、PositionやSizeのようなVector3の値、そしてColor3の色を変更できます。

challenge icon

チャレンジ

中級

木製のドアが壁の隙間をふさいでおり、赤いブロックはClickDetectorが付いたボタンです。このスクリプトはドアの中にあります。

ボタンがクリックされたら、ドアを1秒かけて10スタッド上にスライドさせます。infoとgoalは用意されています。トゥイーンを作成し、MouseClickで再生しましょう。クリックされる前にドアが動いてはいけません。

Playを押し、ボタンまで歩いていってクリックし、通り抜けましょう。その後、Checkを押します。

自分で試してみよう

local TweenService = game:GetService("TweenService")
local door = script.Parent
local button = workspace.Button

local info = TweenInfo.new(1)
local goal = { Position = door.Position + Vector3.new(0, 10, 0) }

-- info と goal を使って door のトゥイーンを作成する

-- button の ClickDetector がクリックされたときに再生する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Robloxゲームのスクリプティングのすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ