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!