ジョイスティック
ジョイスティックのように動作するアナログ コントロールです。
プロパティ
type
- "ジョイスティック"
axis
-
オブジェクトまたは配列。 このジョイスティック コントロールのマッピングを記述する単一の軸または軸の配列を指定します。
action
-
オブジェクト、省略可能。 軸マッピングに加えて呼び出すアクションです。
actionThreshold
-
数値、省略可能。アクションを呼び出すために必要な正規化された最小ジョイスティック値 (放射状)。 既定値は 0.0 です。
enabled
-
ブール値、省略可能。 既定値は true
です。 コントロールの表示状態を有効/無効に設定します。 無効なコントロールはプレイヤーからの入力を受け取りますが、入力に基づいてビジュアル スタイルが変更されることはありません。
expand
-
ブール値、省略可能。 既定値は true
です。 センター コントロール ソケットに配置したときに、ユーザーの人間工学的な好みに一致するようにジョイスティックの範囲を拡張します。 標準化された修正済みのジョイスティック サイズを使用するには、false に設定します。
relative
-
ブール値、省略可能。
既定 (true
) では、ジョイスティックはユーザーの最初のタッチに基づく相対計算を使用してその値を計算します。 この値を false
に設定すると、代わりにコントロールの中心点に基づいて値が計算されます。
visible
-
ブール値、省略可能。 既定値は true
です。 操作するコントロールをプレイヤーに表示するかどうかを決定します。 ゲーム プレイ中に変更するには 「ゲームの状態を使用してタッチ レイアウトを変更する」を参照してください。
styles
-
オブジェクト、省略可能。 コントロールの視覚的表現のカスタマイズ。 スタイルは、スタイルを設定できる状態ごとのオブジェクトとして表示されます。
ボタン コントロールでは、次の状態のスタイルを設定できます。
-
default
- 基本スタイル。 -
disabled
- コントロールが無効になっている場合のスタイル。 指定されていない場合は、コントロールが無効になると、既定のスタイルに変換が適用され、無効として表示されます。 -
idle
- プレイヤーがコントロールを使用していないときに適用されます。 -
moving
- 定義されたデッドゾーンに関係なく、ジョイスティック ノブが操作されているときに適用されます。 -
activated
-action
が定義され、アクションを実行するためにノブがしきい値の外側に移動した場合に適用されます。
状態ごとのスタイル プロパティ
opacity
-
数値、省略可能。 コントロールに適用する不透明度。
disabled
を除くすべての状態の既定値は 1.0 です。
background
-
オブジェクト、省略可能。
色または画像資産を指定できます。
knob
-
オブジェクト、省略可能。
knob オブジェクトは、プレーヤーが操作できるジョイスティックのボタンのような部分のスタイルを指定します。
outline
-
オブジェクト、省略可能。
outline オブジェクトは、ジョイスティックが操作されているときに表示されるアウトラインとインジケーターのスタイルを指定します。
アセットの寸法
画像資産を受け入れるスタイル オブジェクトごとに、特定の資産が基本解像度で、またその基本解像度の 1.5x、2.0x、3.0x、4.0x のスケールで提供されます。 特定の画像の解像度は、次の最大解像度以下である必要があります。
Object | @1.0x | @1.5x | @2.0x | @3.0x | @4.0x |
---|---|---|---|---|---|
background | 120x120 | 90x90 | 240x240 | 360x360 | 480x480 |
knob.faceImage | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |
knob.background | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |
解説
joystick
コントロールを使用して、さまざまな物理コントローラーのジョイスティックにマップするアナログ コントロールを提供できます。
joystick
が主な移動方法である場合は、プレーヤーに最高のエクスペリエンスを提供するために、左中央のスロットでプレイし、expand
を true に設定することをお勧めします。
faceImage
をカスタマイズして、ジョイスティックが何を制御するかについてプレーヤーにヒントを提供することを検討してください (これは、ゲームで複数のジョイスティックを使用する場合に特に重要です)。
1 軸のみに依存するモーションの場合は、1 軸ジョイスティックを使用してプレイアビリティを最大化します。
スタイルに関するコメント
background
アセットを使用していて expand
が true の場合、background
アセットは中央のソケット サイズ全体にスケーリングされません。
既定では、outline
は、プレーヤーがコントロールを操作しているときにのみ表示されます。
カスタムの background
アセットを使用していて expand
が true
に設定されている場合、アセットはプレーヤーのコントロールのカスタマイズでは拡張されないことに注意してください。
Warning
Windows バージョンのコンテンツ テスト アプリケーションを介してストリーミングする場合、すべてのスタイル設定が正しく表示されるわけではありません。
サンプル
例 1: シンプルなジョイスティック
わずかなデッドゾーンのあるジョイスティックへの基本的な1 : 1 のマッピング。 回転すると、物理コントローラーのサムスティックで値が計算されます。
図 1。 ジョイスティック コントロール
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
}
}
例 2: しきい値を超えると歩くからスプリントに切り替わるジョイスティック。
しきい値 (0.75) を超えると、ジョイスティックの動きとともに leftTrigger が送信されます。 アイコンが「歩く」から「スプリント」に変わります
図 1。 アクションしきい値のあるジョイスティック コントロール
{
"type": "joystick",
"action": "leftTrigger",
"actionThreshold":0.75,
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
},
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "walk"
}
}
},
"activated": {
"knob": {
"faceImage": {
"type": "icon",
"value": "sprint"
},
"background" : {
"type": "color",
"value": "#0e7a0d"
}
}
}
}
}
例 3 : ハンドルのような見た目の単軸 (水平) ジョイスティック
図 1。 水平ハンドル ジョイスティック コントロール
{
"type": "joystick",
"axis": {
"input": "axisX",
"output": "leftJoystickX",
"deadzone": {
"threshold": 0.35
}
},
"relative": false,
"styles": {
"default": {
"knob": {
"faceImage": {
"type": "icon",
"value": "steering"
}
}
}
}
}
例 4 : カスタマイズされた色のジョイスティック
図 1。 カスタマイズされたジョイスティック コントロール
{
"type": "joystick",
"axis": {
"input": "axisXY",
"output": "leftJoystick",
"deadzone": {
"threshold": 0.05,
"radial": true
}
},
"styles": {
"default": {
"outline" : {
"stroke" : {
"type": "solid",
"color": "#107C10"
}
}
}
}
}
要件
レイアウト バージョン: 1.0 以降 (レイアウト バージョン 3.0 以降のスタイリング機能)