Seat はプレイヤーが着席する特殊なパーツです。1つの Seat だけで作成した超簡単なUFOを作ってみました。シンプルながら、前進、後退、右回転、左回転、そして上昇と下降ができます。

  1. Workspace にSeat を追加します。
  2. Seat の中に、AngularVelocity、Attachment、LinearVelocity、SurfaceGui を追加します。
  3. SurfaceGui の中に、Script と、6つの TextButton を追加します。
  4. TextButton の名称をそれぞれ SpeedUp、SpeedDown、LeftTurn、RightTurn、Rise、Fall に変更します。
  5. TextButtonの配置と表示文字を下記のように分かるようにします。

  1. AngularVelocity の Attachment0 に「Attachment」を設定し、MaxTorgue に「100000」を設定します。
  2. LinearVelocity の Attachment0 に「Attachment」を設定し、MaxForce に「100000」を設定します。
  3. Script に入れるプログラムは以下の通りです。
local gui = script.Parent
local part = gui.Parent

local speed = 0
local antigravity = 0

local function setVelocity()
    part.LinearVelocity.VectorVelocity = Vector3.new(speed,speed,speed) * part.CFrame.LookVector + Vector3.new(0,antigravity,0)
end

-- 前進ボタン
gui.SpeedUp.MouseButton1Click:Connect(function()
    speed += 1
    setVelocity()
end)

-- 後退ボタン
gui.SpeedDown.MouseButton1Click:Connect(function()
    speed -= 1
    setVelocity()
end)

-- 左ボタン
gui.LeftTurn.MouseButton1Click:Connect(function()
    part.AngularVelocity.AngularVelocity = Vector3.new(0,1,0)
    wait()
    part.AngularVelocity.AngularVelocity = Vector3.new(0,0,0)
    setVelocity()
end)

-- 右ボタン
gui.RightTurn.MouseButton1Click:Connect(function()
    part.AngularVelocity.AngularVelocity = Vector3.new(0,-1,0)
    wait()
    part.AngularVelocity.AngularVelocity = Vector3.new(0,0,0)
    setVelocity()
end)

-- 上昇ボタン
gui.Rise.MouseButton1Click:Connect(function()
    antigravity += 1
    setVelocity()
end)

-- 下降ボタン
gui.Fall.MouseButton1Click:Connect(function()
    antigravity -= 1
    setVelocity()
end)

By schilverberch

ROBLOXでゲームを作ろう! 一緒にプログラミングを学びましょう。

コメントを残す