スクリプトを使ったパーツを等速直線運動で動かす

等速直線運動とは

速度も向きも変わらない、一定方向に一定の速度で移動する運動のこと

実装方法

os.clock()を用いて毎フレームの経過時間を求め速度 x 時間で移動距離を求める。

求めた距離を現在の位置に足し算する。

パーツの作成

等速直線運動させたいパーツを作成、その配下にスクリプトを作成し、名前をUniformLinearMotionとする

スクリプトを以下のように編集する

local part = script.Parent
local lastTime

-- 移動スピード
local speed = 5

-- 移動方向
local direction = Vector3.new(0, 0, 1)

while true do
	lastTime = os.clock()
	wait()
	local deltaTime = os.clock() - lastTime
	-- 経過した時間から移動距離を計算し、現在の位置に足す
	part.Position += direction * speed * deltaTime
	lastTime = os.clock()
end

結果

関連