Robloxでユーザーがどのような入力をしたかを検知する

UserInputServiceを利用することでユーザーの入力を検知することができる

基本的な入力の検知

ジャンプ入力とキー入力を検知する

StarterPlayer -> StarterPlayerScriptsの配下にローカルスクリプトを作成、名前をDetectUserInputに変更する

スクリプトを以下のように編集する

-- UserInputServiceを取得
local UserInputService = game:GetService("UserInputService")

-- ジャンプ入力を検知
UserInputService.JumpRequest:Connect(function()
	print("jump")
end)

-- キー入力開始を検知
UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
	if input.UserInputType == Enum.UserInputType.Keyboard then
		local keyPressed = input.KeyCode
		print("A key is being pushed down! Key:",input.KeyCode)
	elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
		print("The left mouse button has been pressed down at",input.Position)
	elseif input.UserInputType == Enum.UserInputType.MouseButton2 then
		print("The right mouse button has been pressed down at",input.Position)
	elseif input.UserInputType == Enum.UserInputType.Touch then
		print("A touchscreen input has started at",input.Position)
	elseif input.UserInputType == Enum.UserInputType.Gamepad1 then
		print("A button is being pressed on a gamepad! Button:",input.KeyCode)
	end
end)

結果

関連

https://developer.roblox.com/en-us/api-reference/property/InputObject/UserInputType