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

# Manette de jeu

> Manette de jeu

# Manette de jeu

Contrôle analogique qui se comporte comme une manette de jeu (joystick).

## Propriétés

`type` - "joystick"

`axis` - *objet* ou *tableau*. Un seul [axe](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-axis) ou un tableau d'[axes](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-axis) qui décrivent le mappage de ce contrôle de manette de jeu.

`action` - *objet*, *facultatif*. Une ou plusieurs [actions](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-action) à appeler en plus du mappage d'axe.

`actionThreshold` - *nombre*, *facultatif*. Valeur minimale normalisée de la manette de jeu (radiale) requise pour appeler l'action. Valeur par défaut de 0.

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

`expand` - *booléen*, *facultatif*. Valeur par défaut de `true`. Étend la plage de la manette de jeu pour correspondre aux préférences ergonomiques de l'utilisateur lorsqu'elle est placée dans un emplacement de contrôle central. Définissez cette valeur sur false pour utiliser une taille de manette de jeu fixe standardisée.

`relative` - *booléen*, *facultatif*.
Par défaut (`true`), la manette de jeu calcule sa valeur de façon relative en fonction du toucher initial de l'utilisateur. Si cette valeur est définie sur `false`, la valeur est plutôt calculée en fonction du point central du contrôle.

`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 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.
* `moving` - Appliqué lorsque le joueur interagit avec le bouton de la manette de jeu, quelle que soit la zone morte définie.
* `activated` - Appliqué lorsqu'une `action` est définie et que le bouton est déplacé au-delà du seuil d'exécution de l'action.

**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`.

`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).

[`knob`](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-knob) - *objet*, *facultatif*. L'objet [knob](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-knob) spécifie le style de la partie de la manette de jeu semblable à un bouton avec laquelle le joueur peut interagir.

[`outline`](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-joystick-outline) - *objet*, *facultatif*. L'objet [outline](/fr-CA/reference/system/touchadaptationkit/types/game-streaming-touch-joystick-outline) spécifie le style du contour et de l'indicateur affichés lorsque le joueur interagit avec la manette de jeu.

**Dimensions des ressources**

Pour chacun des objets de style qui acceptent des ressources d'image, une ressource donnée est fournie à une résolution de base et à des échelles de 1.5x, 2.0x, 3.0x et 4.0x de cette résolution de base. La résolution d'une image donnée doit être inférieure ou égale aux résolutions maximales suivantes :

| Objet | @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 |

## Remarques

Le contrôle `joystick` peut être utilisé pour fournir un contrôle analogique correspondant aux différentes manettes de jeu de la manette physique.

Si le `joystick` est le principal moyen de déplacement, il est recommandé de le placer dans l'emplacement central gauche et de définir `expand` sur true afin d'offrir la meilleure expérience au joueur.

Envisagez de personnaliser le `faceImage` pour indiquer au joueur ce que la manette de jeu contrôle (c'est particulièrement important si votre jeu utilise plus d'une manette de jeu).

Pour les mouvements qui ne reposent que sur un seul axe, utilisez une manette de jeu à axe unique pour optimiser la jouabilité.

**Remarques sur le style**

Si vous utilisez une ressource `background` et que `expand` est true, la ressource `background` ne sera PAS mise à l'échelle à la taille complète de l'emplacement central.

Par défaut, le contour (`outline`) n'est affiché que lorsque le joueur interagit avec le contrôle.

Si vous utilisez une ressource `background` personnalisée et que `expand` est défini sur `true`, notez que la ressource ne s'étendra PAS avec la personnalisation du contrôle par le joueur.

<Warning>Lors de la diffusion en continu au moyen de la version Windows de Content Test Application, certains styles ne s'affichent pas correctement.</Warning>

## Exemples

#### Exemple 1 : Manette de jeu simple

Mappage 1:1 de base vers une manette de jeu avec une légère zone morte. Les manettes de la manette physique calculent leur valeur par rotation.

**Figure 1. Contrôle de manette de jeu**

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/reference/game-streaming-touch-control-images-joystick.gif?s=913fb802bb674e41afbc275dd588b88f" alt="Utilisateur interagissant avec une manette de jeu" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-joystick.gif" />

```JSON theme={null}
{

    "type": "joystick",
    "axis": {
        "input": "axisXY",
        "output": "leftJoystick",
        "deadzone": {
            "threshold": 0.05,
            "radial": true
        }
    }
}
```

#### Exemple 2 : Manette de jeu qui passe de la marche au sprint lorsque le seuil est dépassé.

Lorsque le seuil (0.75) est dépassé, leftTrigger est envoyé en même temps que le mouvement de la manette de jeu. L'icône passe de « walk » à « sprint »

**Figure 1. Contrôle de manette de jeu avec seuil d'action**

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/reference/game-streaming-touch-control-images-joystick-with-threshold-action.gif?s=458d5bfd3de78ce9d89f06911b8bccc8" alt="Utilisateur interagissant avec une manette de jeu dotée d'un seuil d'action" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-joystick-with-threshold-action.gif" />

```JSON theme={null}
{
    "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"
                }
            }
        }
    }
}

```

#### Exemple 3 : Manette de jeu à axe unique (horizontal) qui ressemble à un volant

**Figure 1. Contrôle de manette de jeu en forme de volant horizontal**

<img src="https://mintcdn.com/microsoft-4404708b/VX3CRv5ayGEZiR8G/images/gdk/reference/game-streaming-touch-control-images-joystick-driving.gif?s=e3871f2e477b6ff164bdf1dc2f597819" alt="Utilisateur interagissant avec une manette de jeu en forme de volant horizontal" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-joystick-driving.gif" />

```JSON theme={null}
{
    "type": "joystick",
    "axis": {
        "input": "axisX",
        "output": "leftJoystickX",
        "deadzone": {
            "threshold": 0.35
        }
    },
    "relative": false,
    "styles": {
        "default": {
            "knob": {
                "faceImage": {
                    "type": "icon",
                    "value": "steering"
                }
            }
        }
    }
}
```

#### Exemple 4 : Manette de jeu avec des couleurs personnalisées

**Figure 1. Contrôle de manette de jeu personnalisé**

<img src="https://mintcdn.com/microsoft-4404708b/VX3CRv5ayGEZiR8G/images/gdk/reference/game-streaming-touch-control-images-joystick-customized-colors.gif?s=b1675a6c7b27845e589c3d0d08452fac" alt="Utilisateur interagissant avec une manette de jeu aux couleurs personnalisées" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-joystick-customized-colors.gif" />

```JSON theme={null}
{

    "type": "joystick",
    "axis": {
        "input": "axisXY",
        "output": "leftJoystick",
        "deadzone": {
            "threshold": 0.05,
            "radial": true
        }
    },
    "styles": {
        "default": {
            "outline" : {
                "stroke" : {
                    "type": "solid",
                    "color": "#107C10"
                }
            }
        }
    }
}
```

## Configuration requise

**Version de la disposition :** 1.0+ (fonctionnalités de style à partir de la version de disposition 3.0+)

## Voir aussi

[Référence du Touch Adaptation Kit](/fr-CA/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview)


## Related topics

- [XR-115 Ajout et retrait d'utilisateurs ou de manettes pendant le jeu](/fr-CA/publishing/certification/xr/xr-115.md)
- [XR115 Ajout et retrait d'utilisateurs ou de manettes pendant le jeu](/fr-CA/publishing/certification/fma/xr-115.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr/publishing/certification/console-cert-tested-requirements.md)
- [Exigences XBOX pour les jeux XBOX](/fr-CA/publishing/certification/xbox-requirements.md)
- [XBOX Requirements pour les jeux XBOX](/fr/publishing/certification/xbox-requirements.md)
