入力

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

あらゆるエクスペリエンスには、プレイヤーが環境と対話し、視覚を楽しむためのユーザー入力が必要です。Robloxは、マウス/キーボードタッチゲームパッド、およびVRを含むほぼすべての形式の入力をサポートしています。

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

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

このプロセスを簡素化するために、Robloxは、アクション(例: "ジャンプ"、"スプリント"、"発射")を定義し、これらのアクションを動かすための複数のハードウェア入力に対するバインディングを設定するための入力アクションシステムを提供しています。これにより、すべての技術的な側面を考えることから解放され、どの入力がどのアクションを実行するかを単に定義できるようになります。

入力タイプの検出

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

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

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

現実のシナリオPreferredInput
プレイヤーは他の入力デバイスが接続されていない電話を使用している; 入力タイプの変更の可能性はない。Touch
プレイヤーはBluetoothキーボードとマウスが接続されたモバイルデバイスを使用しているが、ゲームパッドは接続されていない。KeyboardAndMouse
プレイヤーはBluetoothゲームパッドが接続されたタブレットを使用しているが、キーボードやマウスは接続されていない。Gamepad
プレイヤーはBluetoothキーボードとマウスが接続されたXboxまたはPlayStationを使用しており、最近はキーボードまたはマウスとインタラクションを行った。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は、米国並びにその他の国における登録商標および非登録商標です。