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

# Boutons d'arcade

> Boutons d'arcade

# Boutons d'arcade

Les boutons d'arcade permettent de regrouper 6 ou 8 boutons disposés en arc, à la manière des bornes d'arcade. Ils sont surtout utilisés pour les jeux de combat.

## Propriétés

`type` - "arcadeButtons"\
`lightKick` - *objet*. Le bouton pour un coup de pied léger.\
`mediumKick` - *objet*. Le bouton pour un coup de pied moyen.\
`heavyKick` - *objet*. Le bouton pour un coup de pied puissant.\
`specialKick` - *objet*, *facultatif*. Le bouton pour un coup de pied spécial.\
`lightPunch` - *objet*. Le bouton pour un coup de poing léger.\
`mediumPunch` - *objet*. Le bouton pour un coup de poing moyen.\
`heavyPunch` - *objet*. Le bouton pour un coup de poing puissant.\
`specialPunch` - *objet*, *facultatif*. Le bouton pour un coup de poing spécial.

Chaque objet ci-dessus décrit un bouton doté des propriétés suivantes :

`action` - *chaîne*. [Action(s)](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-action) à appeler lorsqu'un joueur touche le bouton.

`enabled` - *booléen*, *facultatif*. La valeur par défaut est `true`. Définit l'état visuel du contrôle comme activé/désactivé. Un contrôle désactivé recevra toujours les entrées du joueur, mais ne modifiera PAS son style visuel en fonction de ces entrées.

`toggle` - *booléen*, *facultatif*. La valeur par défaut est `false`.

* Si `false`, l'entrée du bouton est envoyée lorsqu'il est enfoncé et ne l'est pas lorsqu'il n'est pas enfoncé.
* Si `true`, chaque pression sur le bouton bascule l'envoi ou non de l'entrée pour la ou les actions correspondantes.

`visible` - *booléen*, *facultatif*. La valeur par défaut est `true`. Détermine si le contrôle est affiché au joueur pour qu'il puisse interagir avec celui-ci. Pour le modifier pendant le jeu, consultez [Modification des dispositions tactiles à l'aide de l'état du jeu](/fr-CA/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state#change_state).

`styles` - *objet*, *facultatif*. Personnalisation de la représentation visuelle du contrôle. Les styles sont représentés sous forme d'un objet par état pouvant être stylisé.

Les états suivants du contrôle de bouton peuvent être stylisés :

* `default` - Le style de base.
* `disabled` - Le style lorsque le contrôle est désactivé. S'il n'est pas spécifié, une transformation est appliquée au style par défaut lorsque le contrôle est désactivé afin qu'il paraisse désactivé.
* `idle` - Appliqué lorsque le joueur n'interagit PAS avec le contrôle.
* `activated` - Appliqué lorsque le joueur touche le bouton.

**Propriétés de style par état**

`opacity` - *nombre*, *facultatif*. L'opacité à appliquer au contrôle. La valeur par défaut est 1.0 pour tous les états, sauf `disabled`.

`faceImage` - *objet*, *facultatif*. Peut être soit une [icône](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-icon), soit une [ressource d'image](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-asset).

`background` - *objet*, *facultatif*. Peut être soit une [couleur](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-color), soit une [ressource d'image](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-asset). N'est pas visible dans les états inactif et désactivé.

**Dimensions des ressources**

Pour chacun des objets de style qui acceptent des ressources d'image, une ressource donnée doit être fournie selon cinq niveaux de PPP : @1.0x, @1.5x, @2.0x, @3.0x et @4.0x. La résolution d'une image à un niveau de PPP donné doit être inférieure ou égale aux résolutions maximales suivantes :

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

## Remarques

`arcadebuttons` vous permet de disposer un ensemble de boutons en un groupe de six ou huit, semblable à une borne d'arcade. Cette disposition est optimisée pour les jeux de combat.

Il existe également un indicateur sur lequel le joueur peut appuyer, qui correspond à l'appui simultané sur tous les boutons de coup de poing ou de coup de pied.

Le contrôle `arcadebuttons` occupe plus d'espace; vous devez donc faire attention aux autres contrôles placés autour de lui.

**Remarques sur le style**

Dans l'état `activated`, le `faceImage` est affiché 25 % plus petit.

Des étiquettes et un style par défaut pour la couleur d'arrière-plan sont fournis pour les boutons qui n'utilisent pas de ressources personnalisées et qui ont une seule action parmi `gamepadX`, `gamepadY`, `gamepadA` ou `gamepadB`.

## Exemples

#### Exemple 1 : Boutons d'arcade - six boutons

**Figure 1. Boutons d'arcade**

<img src="https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons.gif?s=3948ffe961d90e894fb1362b8fb21b13" alt="Utilisateur interagissant avec des boutons d'arcade à six éléments" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-arcade-buttons.gif" />

```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"
                }
            }
        }
    }
}
```

#### Exemple 2 : Boutons d'arcade - huit boutons

**Figure 1. Boutons d'arcade à huit éléments**

<img src="https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons-eight.gif?s=6d1fe0f55cebd57f9ffd2205dcdff25d" alt="Utilisateur interagissant avec des boutons d'arcade à huit éléments" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-arcade-buttons-eight.gif" />

```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"
                }
            }
        }
    }
}
```

## Configuration requise

**Version de la disposition :** 1.0+ (style disponible à partir de la version de disposition 3.0+)


## Related topics

- [Touch Adaptation Kit](/fr/reference/system/touchadaptationkit/touchadaptationkit-reference.md)
- [Référence du Touch Adaptation Kit (TAK)](/fr/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview.md)
- [Référence de la trousse d'adaptation tactile (TAK)](/fr-CA/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview.md)
- [GameInputArcadeStickButtons](/fr-CA/reference/input/gameinput/enums/gameinputarcadestickbuttons.md)
- [IGameInputMapper::GetArcadeStickButtonMappingInfo](/fr-CA/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getarcadestickbuttonmappinginfo.md)
