【Roblox Studio】プレイヤーの入力を取得する【UserInputService】

Code

1. Roblox StudioのUserInputServiceとは

Roblox Studioには、UserInputServiceという機能があります。UserInputServiceを使うことで、プレイヤーの入力を取得することができます。

以下では、UserInputServiceを使用して、プレイヤーのキーボード入力を取得してみます。

2. 使用する機能と主なコード

【機能】
・Script(スクリプト)

【コード】
・UserInputService

3. UserInputServiceの簡単な使い方

まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。

Partを適当な位置に設置します。

StarterPlayer→StarterCharacterScriptの中にLocalScriptを追加します。

LocalScriptに以下のコードを記述します。

local UserInputService = game:GetService("UserInputService")
local part = workspace.Part

上記コードは、UserInputServiceを使う準備とPartを変数partに代入しています。
プレイヤーが入力したキーを取得する関数(onInputBegan)を記述します。

local UserInputService = game:GetService("UserInputService")
local part = workspace.Part

local function onInputBegan(input, _gameProcessed)
	if input.KeyCode == Enum.KeyCode.G then
		print("Gキーが押されました")
		-- Partの色を変える
		part.Color = Color3.new(1, 0, 0)
    end
end

「if input.KeyCode == Enum.KeyCode.G then」が「キーボードで入力された値がGならば…」という条件文を表しています。Gが入力された場合、「Gキーが押されました」と表示し、Partの色を赤色に変更するようにしています。
最後に、関数onInputBeganを実行する条件を記述します。

local UserInputService = game:GetService("UserInputService")
local part = workspace.Part

local function onInputBegan(input, _gameProcessed)
	if input.KeyCode == Enum.KeyCode.G then
		print("Gキーが押されました")
		-- Partの色を変える
		part.Color = Color3.new(1, 0, 0)
    end
end

UserInputService.InputBegan:Connect(onInputBegan)

「UserInputService.InputBegan:Connect(onInputBegan)」が「入力が開始されたときに関数onInputBeganを実行する」を意味しています。

では、実行してGキーを押してみます。

Partの色が変わり、「Gキーが押されました」と表示されました。
他のキー(Hキー、Tabキー)でも試してみます。

local UserInputService = game:GetService("UserInputService")
local part = workspace.Part

local function onInputBegan(input, _gameProcessed)
	if input.KeyCode == Enum.KeyCode.G then
		print("Gキーが押されました")
		-- Partの色を変える
		part.Color = Color3.new(1, 0, 0)
	elseif input.KeyCode == Enum.KeyCode.H then
		print("Hキーが押されました")
		-- Partの色を変える
		part.Color = Color3.new(0, 0.0509804, 1)
	elseif input.KeyCode == Enum.KeyCode.Tab then
		print("Tabキーが押されました")
		-- Partの色を変える
		part.Color = Color3.new(0.34902, 1, 0)
	end
end

UserInputService.InputBegan:Connect(onInputBegan)

では、実行してみます。

Gキーと同様に、HキーとTabキーが押された場合もそれぞれに指定した処理が行われました。

4. まとめ

・UserInputServiceを使用することでプレイヤーの入力を取得できる

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

コメント

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