> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Directional Pad

> Directional Pad

# Directional Pad

常にゲームパッドの方向パッドにマッピングされる方向パッド コントロール。

## プロパティ

`type` - *"directionalPad"*。コントロールの種類を指定します。

`scale` - *number*、*省略可*。既定値は 1 です。サイズ倍率。方向パッドはボタンのように配置され、ジョイスティックのように自動的にスケーリングされないため便利です。

`deadzone` - *number*、*省略可*。0 から 1 の値で、コントロールの割合として deadzone のサイズを指定します。ジョイスティックの [deadzone](https://devdocs.xbox.com/ja-jp/reference/system/touchadaptationkit/types/game-streaming-touch-deadzone) とは異なり、方向パッドの deadzone は常に軸方向 (四角) であることに注意してください。

`enabled` - *boolean*、*省略可*。既定値は `true` です。コントロールの視覚的な状態を有効/無効に設定します。無効なコントロールは引き続きプレイヤーからの入力を受け取りますが、入力に基づいて視覚スタイルは変更されません。

`visible` - *boolean*、*省略可*。既定値は `true` です。プレイヤーが操作できるようにコントロールを表示するかどうかを決定します。ゲーム プレイ中に変更するには、[ゲーム状態を使用したタッチ レイアウトの変更](https://devdocs.xbox.com/ja-jp/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state.md#change_state) を参照してください。

`styles` - *object*、*省略可*。コントロールの視覚的表現のカスタマイズ。スタイルは、スタイル設定可能な状態ごとのオブジェクトとして表されます。

`interaction` - *object*、*省略可*。コントロールに対するユーザーの操作メカニズムを変更できるプロパティ定義。

**Interaction**

`activationType` - *string*、*省略可*。方向パッドの操作で、任意の方向に対して許可される有効化タイプを定義します。既定値は `allowNeighboring` です。`exclusive` に設定した場合、方向パッド上で一度に有効にできるのは単一方向のみになります (すなわち、「上」「右」「下」「左」のいずれか 1 つのみ)。`allowNeighboring` に設定した場合、それぞれの間をタップすることで、方向とその隣接する方向のいずれかを同時に有効にできます (すなわち、ユーザーは、各方向を個別に有効にできることに加えて、それぞれの間をタップすることで「上+右」「右+下」「下+左」「左+上」を有効にできます)。

**状態およびスタイル設定プロパティ**

directional pad コントロールは次の状態のスタイルを設定できます:

* `default` - 基本スタイル。
* `disabled` - コントロールが無効な場合のスタイル。指定されていない場合、コントロールが無効になると、既定のスタイルに変換が適用されて無効に見えるようになります。
* `idle` - プレイヤーがコントロールを操作していないときに適用されます。
* `activated` - プレイヤーがボタンに触れているときに適用されます。

方向パッド コントロールのスタイル設定には次のプロパティを使用できます:

`opacity` - *number*、*省略可*。コントロールに適用される不透明度。`disabled` を除くすべての状態で既定値は 1.0 です。

`fill` - *object*、*省略可*。方向パッドが有効化されたときに使用されるグラデーションに対して色が定義されたオブジェクト。

`gradient` - *object*、*省略可*。方向パッドが有効化されたときに使用されるグラデーションに対して色が定義されたオブジェクト。

`background` - *object*、*省略可*。[color](https://devdocs.xbox.com/ja-jp/reference/system/touchadaptationkit/types/game-streaming-touch-color) または [image asset](https://devdocs.xbox.com/ja-jp/reference/system/touchadaptationkit/types/game-streaming-touch-asset) のいずれかを指定できます。

`stroke` - *object*、*省略可*。方向パッドの輪郭に使用する色。[stroke](https://devdocs.xbox.com/ja-jp/reference/system/touchadaptationkit/types/game-streaming-touch-stroke) オブジェクトである必要があります。

**アセットの寸法**

画像アセットを受け入れる各スタイル オブジェクトについて、指定されたアセットはベース解像度と、そのベース解像度の 1.5x、2.0x、3.0x、4.0x のスケールで提供されます。指定された画像の解像度は、次の最大解像度以下である必要があります:

| オブジェクト | @1.0x | @1.5x | @2.0x | @3.0x | @4.0x |
| :- | :- | :- | :- | :- | :- |
| background | 75x75 | 112x112 | 150x150 | 225x225 | 300x300 |

## 補足

方向パッドは、物理コントローラーの方向パッドと同様の体験を提供するために使用されます。

これがプレイヤーの主要な移動メカニズムとして使用される場合 (通常は `left` `inner` スロット)、スケール 2 を使用することをお勧めします。

**スタイル設定に関する補足**

`background` にカスタム画像アセットを使用する場合、参照されている最大解像度は scale=1.0 のときのものです。異なるスケールを使用する場合、最大解像度は解像度とスケールの積になります。たとえば、scale=1.5 の場合、@1.0x DPI の背景画像は最大 90x90 の解像度を持てます。

> [!WARNING]
>
> Windows 版 Content Test Application 経由でストリーミングする場合、すべてのスタイル設定が正しく表示されるわけではありません。

## サンプル

#### 例 1: 既定の方向パッド

**図 1. Directional Pad**

![方向パッドを操作するユーザー](https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-directional-pad.gif?s=663feec658af51030d5c73cca7b8fc6e)

```
{
    "type": "directionalPad",
    "scale": 1.0
}
```

#### 例 2: カスタマイズされた色を持つ、より大きな方向パッド。

**図 1. カスタマイズされた Directional Pad**

![カスタマイズされた方向パッドを操作するユーザー](https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-directional-pad-2.gif?s=1ccee19714099eab37c0d825a9621856)

```
{
    "type": "directionalPad" ,
    "scale": 2.0,
    "styles" : {
        "default" : {
            "fill" : "#0e7a0d10",
            "gradient" : {
                "color": "#0e7a0d10"
            },
            "stroke" : {
                "type": "solid",
                "color" : "#0e7a0dff"
            }
        }
    }
}
```

## 要件

**レイアウト バージョン:** 1.0 以上 (スタイル設定サポートは 3.0 以上、Interaction サポートは 3.4 以上)。


## Related topics

- [XGameStreamingGamepadPhysicality](https://devdocs.xbox.com/reference/system/xgamestreaming/enums/xgamestreaminggamepadphysicality.md)
- [Touch Adaptation Kit](https://devdocs.xbox.com/reference/system/touchadaptationkit/touchadaptationkit-reference.md)
- [Touch Adaptation Kit (TAK) Reference](https://devdocs.xbox.com/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview.md)
- [XINPUT_KEYSTROKE](https://devdocs.xbox.com/reference/input/xinputongameinput/structs/xinput_keystroke.md)
- [GameInputGamepadButtons](https://devdocs.xbox.com/reference/input/gameinput/enums/gameinputgamepadbuttons.md)
