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を使用することでプレイヤーの入力を取得できる
コメント