> ## 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.

# Arcade Buttons

> Arcade Buttons

# Arcade Buttons

아케이드 버튼은 아케이드 게임기 스타일로 호(弧) 형태로 배치된 6개 또는 8개의 버튼 모음을 허용합니다. 격투 게임에 가장 흔히 사용됩니다.

## Properties

`type` - "arcadeButtons"\
`lightKick` - *object*. 가벼운 킥에 대한 버튼입니다.\
`mediumKick` - *object*. 중간 킥에 대한 버튼입니다.\
`heavyKick` - *object*. 강한 킥에 대한 버튼입니다.\
`specialKick` - *object*, *optional*. 스페셜 킥에 대한 버튼입니다.\
`lightPunch` - *object*. 가벼운 펀치에 대한 버튼입니다.\
`mediumPunch` - *object*. 중간 펀치에 대한 버튼입니다.\
`heavyPunch` - *object*. 강한 펀치에 대한 버튼입니다.\
`specialPunch` - *object*, *optional*. 스페셜 펀치에 대한 버튼입니다.

위의 각 오브젝트는 다음 속성으로 버튼을 설명합니다.

`action` - *string*. 플레이어가 버튼을 터치할 때 호출할 [Action(s)](https://devdocs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-action)입니다.

`enabled` - *boolean*, *optional*. 기본값은 `true`입니다. 컨트롤의 시각적 상태를 활성/비활성으로 설정합니다. 비활성화된 컨트롤은 플레이어로부터 여전히 입력을 받지만, 입력에 따라 시각적 스타일이 변경되지는 않습니다.

`toggle` - *boolean*, *optional*. 기본값은 `false`입니다.

* `false`이면 버튼을 누를 때 입력이 전송되고, 누르지 않을 때는 전송되지 않습니다.
* `true`이면 버튼을 누를 때마다 해당 액션에 대해 입력을 전송하는지 여부가 전환됩니다.

`visible` - *boolean*, *optional*. 기본값은 `true`입니다. 플레이어가 상호 작용할 수 있도록 컨트롤을 표시할지 여부를 결정합니다. 게임 플레이 중에 변경하려면 [게임 상태를 사용하여 터치 레이아웃 변경](https://devdocs.xbox.com/ko/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state.md#change_state)을 참조하세요.

`styles` - *object*, *optional*. 컨트롤의 시각적 표현을 커스터마이즈합니다. 스타일은 스타일을 지정할 수 있는 상태별 오브젝트로 표현됩니다.

버튼 컨트롤은 다음 상태에 대해 스타일을 지정할 수 있습니다.

* `default` - 기본 스타일입니다.
* `disabled` - 컨트롤이 비활성화되었을 때의 스타일입니다. 지정하지 않으면 컨트롤이 비활성화되었을 때 기본 스타일에 변환이 적용되어 비활성화된 것처럼 표시됩니다.
* `idle` - 플레이어가 컨트롤과 상호 작용하지 않을 때 적용됩니다.
* `activated` - 플레이어가 버튼을 터치하고 있을 때 적용됩니다.

**Styling properties per state**

`opacity` - *number*, *optional*. 컨트롤에 적용될 불투명도입니다. `disabled`를 제외한 모든 상태에서 기본값은 1.0입니다.

`faceImage` - *object*, *optional*. [icon](https://devdocs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-icon) 또는 [image asset](https://devdocs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-asset)일 수 있습니다.

`background` - *object*, *optional*. [color](https://devdocs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-color) 또는 [image asset](https://devdocs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-asset)일 수 있습니다. idle 및 disabled 상태에서는 표시되지 않습니다.

**Asset dimensions**

이미지 애셋을 허용하는 각 스타일 오브젝트에 대해, 주어진 애셋은 @1.0x, @1.5x, @2.0x, @3.0x, @4.0x의 5가지 DPI 수준으로 제공되어야 합니다. 특정 DPI 수준의 이미지 해상도는 다음 최대 해상도보다 작거나 같아야 합니다.

| Object | @1.0x | @1.5x | @2.0x | @3.0x | @4.0x |
| :- | :- | :- | :- | :- | :- |
| faceImage | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |
| background | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |

## Remarks

`arcadebuttons`를 사용하면 아케이드 게임기와 유사한 6개 또는 8개 버튼 그룹에 버튼 세트를 배치할 수 있습니다. 이는 격투 게임에 최적화되어 있습니다.

또한 모든 펀치 또는 킥 버튼을 함께 누르는 것에 매핑되는, 플레이어가 누를 수 있는 인디케이터도 있습니다.

`arcadebuttons`는 더 많은 공간을 차지하므로 그 주위에 배치되는 다른 컨트롤에 주의해야 합니다.

**Styling remarks**

`activated` 상태일 때 `faceImage`가 25% 더 작게 표시됩니다.

커스텀 애셋을 사용하지 않고 `gamepadX`, `gamepadY`, `gamepadA` 또는 `gamepadB` 중 하나의 액션만 갖는 버튼에 대해서는 라벨과 배경색에 대한 기본 스타일이 있습니다.

## Samples

#### Example 1: Arcade button - six buttons

**Figure 1. Arcade Buttons**

![6개 항목의 아케이드 버튼과 상호 작용하는 사용자](https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons.gif?s=3948ffe961d90e894fb1362b8fb21b13)

```JSON theme={null}
{
    "type": "arcadeButtons",
    "lightPunch": {
        "action": "gamepadX",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "lightPunch"
                }
            }
        }
    },
    "mediumPunch": {
        "action": "gamepadY",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "mediumPunch"
                }
            }
        }
    },
    "heavyPunch": {
        "action": "rightBumper",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyPunch"
                }
            }
        }
    },
    "lightKick": {
        "action": "gamepadA",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "lightKick"
                }
            }
        }
    },
    "mediumKick": {
        "action": "gamepadB",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "mediumKick"
                }
            }
        }
    },
    "heavyKick": {
        "action": "leftBumper",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyKick"
                }
            }
        }
    }
}
```

#### Example 2: Arcade button - eight buttons

**Figure 1. Eight Item Arcade Buttons**

![8개 항목의 아케이드 버튼과 상호 작용하는 사용자](https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons-eight.gif?s=6d1fe0f55cebd57f9ffd2205dcdff25d)

```JSON theme={null}
{
    "type": "arcadeButtons",
    "lightPunch": {
        "action": "gamepadX",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "lightPunch"
                }
            }
        }
    },
    "mediumPunch": {
        "action": "gamepadY",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "mediumPunch"
                }
            }
        }
    },
    "heavyPunch": {
        "action": "rightBumper",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyPunch"
                }
            }
        }
    },
    "specialPunch": {
        "action": "rightTrigger",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyPunch2"
                }
            }
        }
    },
    "lightKick": {
        "action": "gamepadA",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "lightKick"
                }
            }
        }
    },
    "mediumKick": {
        "action": "gamepadB",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "mediumKick"
                }
            }
        }
    },
    "heavyKick": {
        "action": "rightTrigger",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyKick"
                }
            }
        }
    },
    "specialKick": {
        "action": "leftBumper",
        "styles": {
            "default" : {
                "faceImage" : {
                    "type": "icon",
                    "value": "heavyKick2"
                }
            }
        }
    }
}
```

## Requirements

**Layout Version:** 1.0+ (Styling available from layout version 3.0+)


## Related topics

- [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)
- [触控适配布局的自定义资产](https://devdocs.xbox.com/zh-CN/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-tak-custom-assets.md)
- [GameInputArcadeStickButtons](https://devdocs.xbox.com/reference/input/gameinput/enums/gameinputarcadestickbuttons.md)
