diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/api/gamepadbutton | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/api/gamepadbutton')
-rw-r--r-- | files/ja/web/api/gamepadbutton/index.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/files/ja/web/api/gamepadbutton/index.html b/files/ja/web/api/gamepadbutton/index.html new file mode 100644 index 0000000000..e3d77c59c3 --- /dev/null +++ b/files/ja/web/api/gamepadbutton/index.html @@ -0,0 +1,92 @@ +--- +title: GamepadButton +slug: Web/API/GamepadButton +tags: + - API + - Gamepad API + - Games + - NeedsBufferSpecLink + - NeedsMarkupWork + - Référence(2) +translation_of: Web/API/GamepadButton +--- +<div>{{APIRef("Gamepad API")}}</div> + +<p><strong><code>GamepadButton</code></strong> インタフェースはゲームパッドやその他のコントローラーの各ボタンを定義します。このインタフェースによって、コントローラー上で使用できるボタンの状態を確認することができます。</p> + +<p><code>GamepadButton</code>オブジェクトは、{{domxref("Gamepad")}}インタフェースの<code>buttons</code> プロパティから取得できます。</p> + +<div class="note"> +<p><strong>注釈</strong>: これはFirefox Gecko 28以降の場合の説明であり、Chrome と以前のFirefoxのバージョンでは、浮動小数点数の配列が返されます。</p> +</div> + +<h2 id="プロパティ">プロパティ</h2> + +<dl> + <dt>{{domxref("GamepadButton.value")}} {{readonlyInline}}</dt> + <dd>多くのモダンなゲームパッドにあるトリガーなどのアナログボタンの現在の状態を示す浮動小数点数です。この値は0.0から1.0までの値に正規化されており、0.0はボタンが押されていない状態で、1.0はボタンが完全に押されている状態を示します。</dd> + <dt>{{domxref("GamepadButton.pressed")}} {{readonlyInline}}</dt> + <dd>ボタンが押されているかどうかを示すboolean型の値です。ボタンが押されている場合は<code>true</code>、押されていない場合は<code>false</code>になります。</dd> +</dl> + +<h2 id="例">例</h2> + +<p>次のコードは、Gamepad API ボタンのデモです。Chromeでは、{{domxref("Navigator.getGamepads")}}には<code>webkit</code>プレフィックスが必要であり、各ボタンの値は浮動小数点数の配列として格納されます。Firefoxでは、{{domxref("Navigator.getGamepads")}}にはプレフィックスは不要で、各ボタンの値は{{domxref("GamepadButton")}}オブジェクトの配列に格納されます。使用するプロパティはこのオブジェクトの{{domxref("GamepadButton.value")}}または{{domxref("GamepadButton.pressed")}}プロパティのどちらかであり、どちらを使用すればいいかはボタンの種類に依存します。この例ではどちらにも対応しています。</p> + +<pre class="brush: js">function gameLoop() { + if(navigator.webkitGetGamepads) { + var gp = navigator.webkitGetGamepads()[0]; + + if(gp.buttons[0] == 1) { + b--; + } else if(gp.buttons[1] == 1) { + a++; + } else if(gp.buttons[2] == 1) { + b++; + } else if(gp.buttons[3] == 1) { + a--; + } + } else { + var gp = navigator.getGamepads()[0]; + + if(gp.buttons[0].value > 0 || gp.buttons[0].pressed == true) { + b--; + } else if(gp.buttons[1].value > 0 || gp.buttons[1].pressed == true) { + a++; + } else if(gp.buttons[2].value > 0 || gp.buttons[2].pressed == true) { + b++; + } else if(gp.buttons[3].value > 0 || gp.buttons[3].pressed == true) { + a--; + } + } + + ball.style.left = a*2 + "px"; + ball.style.top = b*2 + "px"; + + var start = rAF(gameLoop); +};</pre> + +<h2 id="仕様">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName("Gamepad", "#gamepadbutton-interface", "GamepadButton")}}</td> + <td>{{Spec2("Gamepad")}}</td> + <td>初版</td> + </tr> + </tbody> +</table> + +<h2 id="ブラウザ互換性">ブラウザ互換性</h2> + +<p>{{Compat("api.GamepadButton")}}</p> + +<h2 id="関連項目">関連項目</h2> + +<p><a href="/docs/Web/Guide/API/Gamepad">Gamepad API の利用</a></p> |