

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Manuseio do movimento do mouse
<a name="sdk-mouse-movement"></a>

O manuseio do movimento do mouse é fundamental para oferecer experiências de usuário responsivas e intuitivas em aplicativos transmitidos. O Amazon GameLift Streams otimiza automaticamente a transmissão de entrada do mouse com base no comportamento do cursor do seu aplicativo, garantindo que os movimentos do mouse pareçam naturais, independentemente de o cursor estar oculto ou visível. Entender como o Amazon GameLift Streams processa eventos de mouse ajuda você a criar aplicativos que funcionem perfeitamente com o serviço de streaming e forneçam a melhor experiência possível ao usuário.

## Modos de entrada do mouse
<a name="sdk-mouse-input-modes"></a>

O Amazon GameLift Streams usa dois modos distintos para transmitir eventos do mouse para seu aplicativo, selecionando automaticamente o modo apropriado com base na visibilidade do cursor:

Modo relativo  
No modo relativo, as atualizações do mouse são transmitidas como pequenas diferenças incrementais em relação à posição anterior. Esse modo é ideal para aplicativos que exigem rastreamento preciso e contínuo do movimento do mouse, como jogos de tiro em primeira pessoa (FPS) ou interfaces que usam orientação 3D. O Amazon GameLift Streams usa o modo relativo quando o cursor do sistema operacional está oculto ou totalmente transparente.

Modo absoluto  
No modo absoluto, a posição do cursor do mouse é transmitida como uma coordenada exata da tela. Esse modo funciona bem para aplicativos que dependem do posicionamento preciso do cursor, como point-and-click jogos ou qualquer interface de usuário com elementos clicáveis. O Amazon GameLift Streams usa o modo absoluto quando o cursor do sistema operacional está visível, mesmo que seu aplicativo exiba uma imagem personalizada do cursor.

Essa seleção automática garante o desempenho ideal para diferentes tipos de aplicativos sem exigir configuração manual.

## Bloqueio de ponteiro
<a name="sdk-pointer-lock"></a>

O bloqueio de ponteiro é um recurso da API da web que captura o cursor do mouse dentro de um elemento específico, ocultando o cursor e impedindo que ele saia da área designada. Esse recurso é particularmente valioso para jogos que exigem movimentos irrestritos do mouse para controlar ou mirar a câmera, sem a distração de um cursor visível ou a limitação de alcançar as bordas da janela.

O Amazon GameLift Streams fornece a funcionalidade de bloqueio automático de ponteiro por meio da `autoPointerLock` propriedade na interface do Web SDK. `InputConfiguration` Esse recurso se integra à [requestPointerLock API para fornecer captura](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestPointerLock) de mouse intuitiva e sensível ao contexto.

### Comportamento automático do bloqueio do ponteiro
<a name="sdk-pointer-lock-behavior"></a>

O Amazon GameLift Streams ativa automaticamente o bloqueio por ponteiro quando o aplicativo está em tela cheia e o cursor remoto está invisível no host do stream. Esse comportamento se alinha bem aos padrões comuns de desenvolvimento de jogos:
+ **Jogos FPS/TPS e controle de orientação 3D** - O ponteiro é bloqueado automaticamente e o cursor fica oculto, fornecendo controle de câmera irrestrito, essencial para a jogabilidade de FPS.
+ **Point-and-click jogos e controle da interface** do usuário - Quando os jogos tornam o cursor visível para interações de menu ou jogabilidade de estratégia, o ponteiro permanece visível e desbloqueado, preservando a experiência pretendida do usuário.

### Opções de configuração
<a name="sdk-pointer-lock-configuration"></a>

A `autoPointerLock` propriedade aceita os seguintes valores:

`true`  
O mouse é sempre capturado quando o cursor remoto está invisível.

`false`  
O mouse nunca é capturado, independentemente da visibilidade do cursor.

`'fullscreen'` (padrão)  
O mouse só é capturado quando o elemento de vídeo está no modo de tela cheia e o cursor remoto está invisível.

**Importante**  
`autoPointerLock`não tem efeito no navegador Safari ou nas plataformas iOS devido às limitações da plataforma.

## Práticas recomendadas
<a name="sdk-mouse-best-practices"></a>

Para garantir o manuseio ideal do mouse em seus aplicativos transmitidos:
+ **Sempre transmita em tela cheia** - Seu aplicativo já deve estar em execução no modo de tela cheia para funcionar corretamente em nosso serviço. Além disso, recomendamos usar o suporte do navegador para tornar o stream um elemento de tela cheia para a melhor experiência do usuário final. Isso ajudará a evitar problemas como problemas de alinhamento entre o cursor do sistema e o cursor do software.
+ **Oculte o cursor para movimento relativo** - Se o aplicativo espera um movimento relativo do mouse (como controles de câmera no estilo FPS ou interações baseadas em arrasto), oculte o cursor do sistema operacional durante essas interações. Em alguns cenários, talvez seja necessário ocultar o cursor com o mouse para baixo e mostrá-lo novamente com o mouse para cima.
+ **Mostrar o cursor para posicionamento absoluto** - Quando seu aplicativo precisar de um posicionamento preciso do cursor para interações com a interface do usuário, certifique-se de que o cursor do sistema operacional permaneça visível para ativar o modo de coordenadas absolutas.
+ **Teste diferentes cenários de entrada** - Verifique se seu aplicativo manipula corretamente os modos de mouse relativo e absoluto, pois o Amazon GameLift Streams pode alternar entre os modos com base nas alterações de visibilidade do cursor.
+ **Teste diferentes modos de janela** - Teste o manuseio do mouse do seu aplicativo nos modos de janela e tela cheia, se aplicável. Determine qual `autoPointerLock` configuração é melhor para sua configuração de entrada.