Página 1 de 1

Customizar caixa de diálogos (get_string_async)

Enviado: Sáb Abr 28, 2018 10:00 am
por irlansn
Olá pessoal, queria saber se posso e como posso personalizar a caixa de diálogo padrão do GMS (get_string_async), pois ela não se encaixa bem com o restante do jogo (design). 
Não acho uma função para tal, mas preciso pelo menos (além da estética) colocar os comandos em português ("OK" e "Cancel"). 

Pensei em, caso não consiga de forma natural, até mesmo encontrar as imagens/comandos nos arquivos do GMS para forçar essa mudança, mas não faço ideia de como o fazer  :ressaca:

Agradeço desde já!

Re: Customizar caixa de diálogos (get_string_async)

Enviado: Sáb Abr 28, 2018 10:38 am
por Foxy Of Jungle
Não recomendo usar as funções de show_message, pois se você estiver usando o Game Maker 8.1, no GM: Studio elas estão obsoletas!
Se você quiser ainda assim saber as funções, clique AQUI

Este vídeo ensina como fazer diálogos personalizados sem usar as funções obsoletas show_message("")
https://www.youtube.com/watch?v=eg6VerCMn6U

Sobre colocar em português, use Arrays, Exemplo:

Código: Selecionar todos

L=os_get_language()
if L="en"
{
 global.language[0] = "Press the button X"
 global.language[1] = "This is English"
}

if L="pt"
{
 global.language[0] = "Pressione o botão X"
 global.language[1] = "Isto é Português"
}
Quando for desenhar um texto:

Código: Selecionar todos

draw_text(x,y,global.language[0])

Para usar o os_get_language() você precisa está no GM: Studio,
no Game Maker 8.1 há um DLL para adquirir o idioma do OS:
Você pode baixá-lo AQUI

Re: Customizar caixa de diálogos (get_string_async)

Enviado: Sáb Abr 28, 2018 10:58 am
por irlansn
Foxy Of Jungle escreveu:Não recomendo usar as funções de show_message, pois se você estiver usando o Game Maker 8.1, no GM: Studio elas estão obsoletas!
Se você quiser ainda assim saber as funções, clique AQUI

Este vídeo ensina como fazer diálogos personalizados sem usar as funções obsoletas show_message("")
https://www.youtube.com/watch?v=eg6VerCMn6U

Sobre colocar em português, use Arrays, Exemplo:

Código: Selecionar todos

L=os_get_language()
if L="en"
{
 global.language[0] = "Press the button X"
 global.language[1] = "This is English"
}

if L="pt"
{
 global.language[0] = "Pressione o botão X"
 global.language[1] = "Isto é Português"
}
Quando for desenhar um texto:

Código: Selecionar todos

draw_text(x,y,global.language[0])

Para usar o os_get_language() você precisa está no GM: Studio,
no Game Maker 8.1 há um DLL para adquirir o idioma do OS:
Você pode baixá-lo AQUI
Olá Foxy Of Jungle! Estou usando o GMS, e exportando pra Android, a função que me refiro são as de Diálogos Assíncronos, mais especificamente a get_string_async que cria uma caixa de diálogo pré estilizada pelo GMS, e com os comandos "OK" e "Cancel". O que quero é personalizar esta caixa de diálogo. E não adianta criar tudo do zero, pois oque quero é o teclado nativo do Android (criei um no jogo, mas não dei certo, pq ele fica lento graças ao sistema de "steps")

Mas agradeço a ajuda ;)

Re: Customizar caixa de diálogos (get_string_async)

Enviado: Sáb Abr 28, 2018 4:09 pm
por Foxy Of Jungle
Você não vai conseguir personalizar este tipo de caixa de diálogo assync, é uma coisa "built in", ou seja, é do próprio OS,
a única alternativa é fazer sua própria caixa de diálogo e retornar o texto escrito.

Procurei pelo Google e achei este asset para abrir o teclado do Android.

Re: Customizar caixa de diálogos (get_string_async)

Enviado: Sáb Abr 28, 2018 7:04 pm
por None
Uma pergunta
Por que você simplesmente não cria a caixa dentro do jogo? O processo por si só não é difícil e você pode estilizar as coisas como você achar melhor.
É possível mesmo usar o teclado do usuário (não é obrigatório criar um teclado virtual), pegar o que ele digitou enquanto exibe para ele e guardar tudo em alguma variável.