入力

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

すべてのゲームは、プレイヤーが環境に対してやり取りをしたり、視覚的に体験したりするためにユーザー入力を受け取る必要があります。Roblox は、マウス/キーボードタッチゲームパッド、および VR を含むほぼすべての形式の入力をサポートしています。

クロスプラットフォーム入力

Roblox は本質的にクロスプラットフォームであり、プレイヤーは携帯電話やタブレットでゲームを発見して参加した後、PCやコンソールで続けることができます。入力は、クロスプラットフォームの開発計画の一部として特に重要です。

このプロセスを簡素化するために、Roblox はInput Action Systemを提供しており、"ジャンプ"、"スプリント"、"シュート"などのアクションを定義し、それらのアクションを駆動するために複数のハードウェア入力のバインディングを設定します。これにより、ハードウェア入力のすべての技術的な側面を考慮する必要がなくなり、どの入力がどのアクションを実行するかを単純に定義することができます。

入力タイプの検出

クロスプラットフォームの開発では、プレイヤーが使用している主要な入力タイプを特定して応答することが重要です。これは通常、UI 要素(画面上のボタンやメニューなど)がデバイス間で優雅に機能することを保証するためです。

たとえば、タッチ対応デバイスではタッチがデフォルトの入力と見なされ、アクション用のタッチボタンが表示される場合がありますが、プレイヤーが追加のBluetoothキーボード/マウスまたはゲームパッドを接続すると、主要な入力タイプをそれに切り替え、画面上のUIのためにタッチをバックアップ入力として使用したいと考えると考えられます。読み取り専用のUserInputService.PreferredInputプロパティは、予想されるプレイヤーの行動に基づいて複数のデバイスタイプで複数の入力タイプに適応する便利な方法です。

PreferredInputの値は、組み込みデバイスの入力やプレイヤーが接続されたゲームパッドまたはキーボード/マウスとの最近のインタラクションに基づいて変化します。例は以下の通りです:

実世界のシナリオPreferredInput
プレイヤーは他の接続された入力デバイスがない電話を使用しており、入力タイプの変更はありません。Touch
プレイヤーはBluetoothキーボードとマウスが接続されたモバイルデバイスを使用していますが、ゲームパッドは接続されていません。KeyboardAndMouse
プレイヤーはBluetoothゲームパッドが接続されたタブレットを使用していますが、キーボードやマウスは接続されていません。Gamepad
プレイヤーはXboxまたはPlayStationでBluetoothキーボードとマウスが接続されており、最近キーボードまたはマウスとインタラクションを行いました。KeyboardAndMouse
プレイヤーはゲームパッドが接続されたWindowsまたはMac PCを使用しており、最近ゲームパッドとインタラクションを行いました。Gamepad

以下のLocalScriptは、最初に好ましい入力を検出し、ゲームプレイ中に変更に応じて反応するためのテンプレートです。

PreferredInputの検出

local UserInputService = game:GetService("UserInputService")
local function preferredInputChanged()
local preferredInput = UserInputService.PreferredInput
if preferredInput == Enum.PreferredInput.Touch then
-- プレイヤーは他の入力タイプが使用可能/接続されていないタッチ対応デバイスを使用しています
print("Touch")
elseif preferredInput == Enum.PreferredInput.Gamepad then
-- プレイヤーはゲームパッドに接続されているか、最近ゲームパッドとインタラクションを行いました
print("Gamepad")
elseif preferredInput == Enum.PreferredInput.KeyboardAndMouse then
-- プレイヤーはキーボードまたはマウスに接続されているか、最近キーボードまたはマウスとインタラクションを行いました
print("KeyboardAndMouse")
end
end
preferredInputChanged()
UserInputService:GetPropertyChangedSignal("PreferredInput"):Connect(function()
preferredInputChanged()
end)

デフォルトバインディング

Robloxは、移動、カメラ操作、および基本的な環境との相互作用のためのデフォルトの入力バインディングを提供します — Robloxプレイヤーはこれらの操作に慣れていますので、特定のケースでのみそれらをオーバーライドする必要があります。また、予約済みの入力はオーバーライドすることができず、常にその意図された目的で機能します。

アクションマウス/キーボードゲームパッドタッチ
Robloxメニューを開くEscStartボタン (ButtonStart)該当なし
デベロッパーコンソールF9該当なし該当なし
全画面モード (Windows)
デスクトップ表示 (Mac)
F11該当なし該当なし
ビデオを録画 (Windows)F12該当なし該当なし
スクリーンショットを撮るPrintScreen該当なし該当なし
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。