Olá, pessoal. Estou desenvolvendo um jogo para PC e celular mas ao fazer os joysticks e o HUD do personagem me deparei com um problema, como faço para eles sumirem quando o jogo estiver no PC e como ativo os controladores e botões para aparecerem quando estiverem no mobile(Android e iOS)?
Você pode detectar a plataforma e controlar a exibição dos botões usando SystemInfo.deviceType
. Esse método identifica o tipo de dispositivo em que o jogo está rodand. Ele classifica os dispositivos em três categorias:
DeviceType.Desktop
→ Computadores (Windows, macOS, Linux)DeviceType.Handheld
→ Dispositivos móveis (Android, iOS)DeviceType.Console
→ Consoles (PlayStation, Xbox, etc.)
Aqui está um exemplo prático:
void Start() {
bool isMobile = SystemInfo.deviceType == DeviceType.Handheld;
// Ativa os controles mobile apenas se estiver rodando em um dispositivo móvel
mobileHUD.SetActive(isMobile);
}
Outra opção é desativar os controles manualmente antes de compilar para PC e ativá-los ao compilar para mobile.
Um script com este método “SystemInfo.deviceType” não precisa estar vinculado(adicionado como componente) a nenhum GameObject? Só dele estar criado já vai funcionar?
Você tem que adicionar esse script em algum objeto para funcionar. Pode ser um objeto vazio na sua cena.
1 curtida