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

# Botões de fliperama

> Botões de fliperama

# Botões de fliperama

Os botões de fliperama permitem um conjunto de 6 ou 8 botões dispostos em arco, no estilo dos gabinetes de fliperama. São usados com mais frequência em jogos de luta.

## Propriedades

`type` - "arcadeButtons"\
`lightKick` - *object*. O botão para um chute leve.\
`mediumKick` - *object*. O botão para um chute médio.\
`heavyKick` - *object*. O botão para um chute forte.\
`specialKick` - *object*, *opcional*. O botão para um chute especial.\
`lightPunch` - *object*. O botão para um soco leve.\
`mediumPunch` - *object*. O botão para um soco médio.\
`heavyPunch` - *object*. O botão para um soco forte.\
`specialPunch` - *object*, *opcional*. O botão para um soco especial.

Cada objeto acima descreve um botão com as seguintes propriedades:

`action` - *string*. [Ação(ões)](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-action) a serem invocadas quando um jogador toca no botão.

`enabled` - *boolean*, *opcional*. O padrão é `true`. Define o estado visual do controle como habilitado/desabilitado. Um controle desabilitado ainda receberá entrada do jogador, mas NÃO alterará o estilo visual com base na entrada.

`toggle` - *boolean*, *opcional*. O padrão é `false`.

* Se `false`, a entrada do botão será enviada quando ele estiver pressionado e não será enviada quando não estiver pressionado.
* Se `true`, cada pressionamento do botão alternará se a entrada está sendo enviada ou não para as ações correspondentes.

`visible` - *boolean*, *opcional*. O padrão é `true`. Determina se o controle é exibido para o jogador interagir. Para alterar durante a jogabilidade, consulte [Alterando layouts de toque usando o estado do jogo](/pt-BR/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state#change_state).

`styles` - *object*, *opcional*. Personalização da representação visual do controle. Os estilos são representados como um objeto por estado que pode ser estilizado.

O controle de botão pode ter os seguintes estados estilizados:

* `default` - O estilo base.
* `disabled` - O estilo quando o controle está desabilitado. Se não for especificado, quando o controle estiver desabilitado, uma transformação será aplicada ao estilo padrão para que ele pareça desabilitado.
* `idle` - Aplicado quando o jogador NÃO está interagindo com o controle.
* `activated` - Aplicado quando o jogador está tocando no botão.

**Propriedades de estilo por estado**

`opacity` - *number*, *opcional*. A opacidade a ser aplicada ao controle. O padrão é 1.0 para todos os estados, exceto `disabled`.

`faceImage` - *object*, *opcional*. Pode ser um [ícone](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-icon) ou um [ativo de imagem](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-asset).

`background` - *object*, *opcional*. Pode ser uma [cor](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-color) ou um [ativo de imagem](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-asset). Não fica visível nos estados ocioso e desabilitado.

**Dimensões dos ativos**

Para cada um dos objetos de estilo que aceitam ativos de imagem, um determinado ativo deve ser fornecido em cinco níveis de DPI: @1.0x, @1.5x, @2.0x, @3.0x e @4.0x. A resolução de uma imagem em um determinado nível de DPI deve ser menor ou igual às seguintes resoluções máximas:

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

## Comentários

`arcadebuttons` permite organizar um conjunto de botões em um grupo de seis ou oito, semelhante a um gabinete de fliperama. Ele é otimizado para jogos de luta.

Há também um indicador para o jogador pressionar que corresponde a pressionar todos os botões de soco ou de chute ao mesmo tempo.

O `arcadebuttons` ocupa mais espaço, e você deve ter cuidado com outros controles posicionados ao redor dele.

**Comentários sobre estilo**

No estado `activated`, a `faceImage` é exibida 25% menor.

Há rótulos e estilo padrão para a cor de fundo dos botões que não usam ativos personalizados e têm uma única ação `gamepadX`, `gamepadY`, `gamepadA` ou `gamepadB`.

## Exemplos

#### Exemplo 1: Botões de fliperama - seis botões

**Figura 1. Botões de fliperama**

<img src="https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons.gif?s=3948ffe961d90e894fb1362b8fb21b13" alt="Usuário interagindo com botões de fliperama de seis itens" 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"
                }
            }
        }
    }
}
```

#### Exemplo 2: Botões de fliperama - oito botões

**Figura 1. Botões de fliperama de oito itens**

<img src="https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/game-streaming-touch-control-images-arcade-buttons-eight.gif?s=6d1fe0f55cebd57f9ffd2205dcdff25d" alt="Usuário interagindo com botões de fliperama de oito itens" 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"
                }
            }
        }
    }
}
```

## Requisitos

**Versão do layout:** 1.0+ (estilo disponível a partir da versão de layout 3.0+)


## Related topics

- [Recursos de acessibilidade para desenvolvedores](/pt-BR/build/game-principles/accessibility/accessibility-resources.md)
- [Tags de recursos de acessibilidade](/pt-BR/build/game-principles/accessibility/accessibility-feature-tags.md)
- [Casos de teste com mais falhas](/pt-BR/publishing/certification/xr-top-failing.md)
- [XR022 Padrões de nomenclatura oficiais](/pt-BR/publishing/certification/fma/xr-022.md)
- [Requisitos XBOX testados na certificação para jogos de console XBOX](/pt-BR/publishing/certification/console-cert-tested-requirements.md)
