【Roblox Studio】横スクロールゲームの基本的な部分の作り方

○○の作り方

完成動画

はじめに

横スクロールアクションゲームを作成する際、カメラの追従プレイヤーの操作制限 を設定することは重要です。本記事では、Roblox Studioで 横スクロール仕様のカメラ を実装し、プレイヤーの操作をA/Dキーとジャンプのみに制限 する方法を紹介します。

実装する機能

  • カメラの追従(プレイヤーの横移動に合わせて動く)
  • プレイヤーの移動制限(W/Sキーまたは↑/↓キーを無効化)

スクリプトの説明

以下の LocalScriptStarterPlayerScripts に配置してください。

local camera = workspace.CurrentCamera
local player = game.Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

camera.CameraType = Enum.CameraType.Scriptable -- スクリプトでカメラを制御可能にする

local function updateCamera()
	if player.Character then
		local root = player.Character:FindFirstChild("HumanoidRootPart")
		if root then
			camera.CFrame = CFrame.new(root.Position + Vector3.new(-20, 0, 0), root.Position) -- 横からキャラクターを見る
		end
	end
end

-- キャラクターがスポーンしたときにカメラを適用
local function onCharacterAdded(character)
	camera.CameraType = Enum.CameraType.Scriptable
	game:GetService("RunService").RenderStepped:Connect(updateCamera)
end

player.CharacterAdded:Connect(onCharacterAdded)

-- WキーとSキーが押されている間、プレイヤーのWalkSpeedを0にする(移動禁止)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Up or input.KeyCode == Enum.KeyCode.Down then
		if player.Character and player.Character:FindFirstChild("Humanoid") then
			player.Character.Humanoid.WalkSpeed = 0
		end
	end
end)

UserInputService.InputEnded:Connect(function(input, gameProcessed)
	if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Up or input.KeyCode == Enum.KeyCode.Down then
		if player.Character and player.Character:FindFirstChild("Humanoid") then
			player.Character.Humanoid.WalkSpeed = 16 -- 元の値に戻す
		end
	end
end)

-- すでにキャラクターが存在する場合は即座に適用
if player.Character then
	onCharacterAdded(player.Character)
end

スクリプトのポイント

1. 横スクロール仕様のカメラ

  • CameraTypeScriptable に設定し、スクリプトでカメラを制御
  • updateCamera 関数で、プレイヤーの移動に合わせてカメラを追従
  • Vector3.new(-20, 0, 0) でカメラの位置を調整。

2. プレイヤーの操作制限

  • UserInputService を使用して、W/Sキー(↑/↓キー)を押したときに速度を0にする
  • InputBeganキーが押されたらWalkSpeed を 0 に
  • InputEndedキーを離したらWalkSpeed を元の 16 に戻す

まとめ

このスクリプトを使用すれば、横スクロールゲームの基本的なカメラ挙動とプレイヤー操作の制限 を簡単に実装できます。今後は 背景スクロールや障害物の配置 などを追加して、より本格的なゲームに仕上げていきましょう!

チュートリアル系電子書籍の紹介
Roblox Studioでゲーム制作を始めてみませんか?
日本語版 ※英語版あり 「10時間でできる Roblox Studio アクションゲーム制作入門」では、Roblox Studioでのゲーム制作の基本から応用までを短時間で効率的に学びます。この一冊で、初心者でも簡単にアクションゲームを制作できるようになり、ゲーム制作の面白さと達成感を存分に味わうことができます。Roblox Studioの世界への扉を開き、あなたのクリエイティブな旅を始めましょう。
チュートリアル系動画
電子書籍を動画にしました!※無料クーポンあり!

「10時間でできる Roblox Studio アクションゲーム制作入門」の動画版では、書籍の内容をさらにわかりやすく、実際の画面操作を見ながら学べる形式でお届けします。初心者でも安心して取り組めるように、Roblox Studioの基本操作からアクションゲームの完成までを丁寧に解説。テンポよく進むレクチャー動画で、あなたのペースに合わせて学習できます。この動画シリーズを通して、ゲーム制作の基礎をしっかり習得し、Roblox Studioの可能性を広げましょう!

割引クーポンコードはこちらです↓
※3月12日21時まで!
6E0150A3770784ADF77D

Luaに関する電子書籍の紹介
Roblox Studioで使用するLua言語の基本を学ぼう!
日本語版 ※英語版あり 「5時間でできる Roblox Studio を使ったLuaの基本」では、Roblox Studioで使用するプログラミング言語Luaの基本をRoblox Studio上で学びます。また、学んだ知識を活かして、Roblox StudioでLuaを使用する応用部分も一部盛り込まれています。この一冊でLuaの基本を学ぶことで、よりRoblox Studioでのゲーム制作を楽しめるようになります。
アニメーション制作系電子書籍の紹介
Roblox Studioでアニメーションを作ってみよう!
「5時間でできる Roblox Studio アニメーション制作入門」では、Roblox Studioでのアニメーション制作の基本から実際に作るところまでを短時間で効率的に学びます。この一冊で、アニメーション制作の第一歩を踏み出すことができます。Roblox Studioで自由自在にアニメーションを作成し、よりクリエイティブなゲームを作りましょう!
○○の作り方Roblox Studio
シェアする
hideをフォローする
Roblox Studio 制作tips

コメント

タイトルとURLをコピーしました