Página 1 de 1
Emojis junto com keyboard_string?
Enviado: Dom Jan 07, 2018 2:18 am
por Foxy Of Jungle
Existe algum script para colocar emojis no texto combinado com keyboard_string como World Of Tanks ou outros jogos online?
e que para ativar o emoji eu simplesmente faço isso por exemplo: :) :P :O :( :/
eu ainda não tentei fazer acho um pouco complicado combinar texto com sprite de forma perfeita

Re: Emojis junto com keyboard_string?
Enviado: Dom Jan 14, 2018 12:32 pm
por theguitarmester
Estou meio enferrujado no Game Maker hehe(na verdade há tempos que não o abro, nem sei se está devidamente instalado...), mas utilizando apenas a lógica:
Você poderia "manualmente inserir o texto" caractere por caractere, e quando tivesse uma combinação, ao invés de fazer um draw_text(...), fazer um draw_sprite(emoji).
Porém esse método me parece que ele será lento.
Outra modo, que me parece melhor(pensei após pensar no primeiro), seria tu pegar o texto que está escrevendo, verificar aonde existe emoji(textos como ":)"), salvar em um outro local(como uma matriz), após remover esse trecho ":)" do texto, e no lugar colocar vários espaços, como " " e então desenhar o texto. Após, pegar a matriz de imagem para desenhar os emojis nas posições que deveriam ficar, que seria entre os " ".
O primeiro modo é um pouco mais fácil de fazer, mas o segundo parece o mais rápido e mais adequado.
Porém, contudo, isso é uma forma manual, e hoje em dia pode ser que já exista outras formas melhores até próprias da linguagens, ou códigos/lógica bem melhor otimizados já pensado.
Lembrando que tu terá de considerar as quebras de linha do texto, usar algum find_string/pos, para pegar a posição do primeiro caractere que representa o emoji(e retirar toda a linha do emoji).
Re: Emojis junto com keyboard_string?
Enviado: Dom Jan 14, 2018 1:34 pm
por Foxy Of Jungle
Obrigado pelo seu tempo! vou pensar como fazer.
Re: Emojis junto com keyboard_string? Tópico resolvido
Enviado: Qui Jan 18, 2018 11:32 am
por All-x
Se não forem muito emojis tem um jeito relativamente simples de fazer usando uma fonte criada a partir de sprites.
As fontes geralmente vão do char code 32 ao 255 (ASCII). Ou seja, há uma lacuna do 1 ao 31 que não é usada. Logo ao invés dos caracteres basta colocar os emojis nessas posições.
Aqui vai um resumo do que fazer:
- Crie uma sprite para a fonte. Você pode encontrar os sheets em
diversos sites. Depois basta ir ao editor de sprites e acessar o menu
File -> Create From Strip no GMS 1.4 ou em
Image -> Import Strip Image no GMS 2.
- Depois da imagem ser devidamente recortada a primeira imagem deve estar em branco (É o "Espaço"). A segunda deve ser um ponto de exclamação "!". Como na sequencia da imagem acima. Nem todos você encontrará assim, mas para esse exemplo o ideal é que sejam esses dois os primeiros caracteres.
- Agora você deve adicionar 31 frames em branco no inicio da sprite ou já adicionar 31 emojis. Não que seja obrigatório você ter os 31, mas usaremos todo o espaço disponível. Mais a frente você vai saber como reduzir.
- Para adicionar a fonte, no evento Create (Ou Game Start, de preferencia que só ocorra uma vez durante a execução do game):
Código: Selecionar todos
global.font_emoji = font_add_sprite(spr_font_emoji, 1, false, 0);
Primeiro argumento nome da fonte, segundo argumento char code inicial (Lembra que falei que estava vago do 1 ao 3? Então vamos começar do 1), terceiro é se cada letra tem uma largura diferente (Deixei false para ficar alinhado) e o último é o espaçamento entre os caracteres.
- Agora este código você utiliza para trocar os simbolos por emojis (Use no Step o ao teclar qualquer tecla):
Código: Selecionar todos
keyboard_string = string_replace_all(keyboard_string, ";)", chr(1));
- Quando for desenhar a fonte:
Código: Selecionar todos
draw_set_colour(c_white);
draw_set_font(global.font_emoji);
draw_text(20, 20, keyboard_string);
Testei aqui e funcionou. Espero que ajude.
Links uteis:
http://gmbr.forumeiros.com/t572-um-sistema-de-textos-diferente
https://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/fonts/font_tables.html
FLWS!
Re: Emojis junto com keyboard_string?
Enviado: Qui Jan 18, 2018 1:25 pm
por Foxy Of Jungle
Eu ja sabia adicionar fontes a partir de sprites mas essa sua imagem da tabela ASCII ajudou muito e gostei muito da sua dica muito obrigado!
(Eu não sabia quais eram os símbolos com acentos)