Roblox 2D ゲームクイックスタート
カメラと動きの制限
今回は StarterPlayer/StarterCharacterScripts に CameraScript をローカルスクリプト (LocalScript) として追加します。
- プレイヤーの動作を左右方向のみに制限する
- カメラをプレイヤーへの追随ではなくスクリプト制御 (
Scriptable) にしプレイヤーの位置に手動で追随させる

CameraScript
local Camera = game.Workspace.CurrentCamera
local ContextActionService = game:GetService("ContextActionService")
local RunService = game:GetService("RunService")
local Character = script.Parent
local RootPart = Character:WaitForChild("HumanoidRootPart")
local ZpositionOffset = 30
-- 前後の動きを停止
ContextActionService:UnbindAction("moveForwardAction")
ContextActionService:UnbindAction("moveBackwardAction")
RunService.RenderStepped:Connect(function()
-- カメラをスクリプト制御に変更
Camera.CameraType = Enum.CameraType.Scriptable
-- カメラの位置をプレイヤーの RootPart を基準に設定
-- ZpositionOffset でどの程度プレイヤーから手前に距離を出すかを決める
Camera.CFrame = CFrame.new(RootPart.Position.x, RootPart.Position.y + 1, RootPart.Position.z + ZpositionOffset)
end)
マップ

CameraScript の方で ZpositionOffset としていたように、Z マイナス方向にカメラを固定するようにしています。
よって、上記のように Z軸を基準にマップを作成します。(右上でXYZの方向を確認できます)