Foxy Of Jungle
Membro
Membro
Autor
Mensagens: 72
Registrado em: Qua Abr 26, 2017 12:21 am
Localização: Brasil
Karma: 48
Contato:

Emojis junto com keyboard_string?

Dom Jan 07, 2018 2:18 am

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

Imagem

Tags:
 
Avatar do usuário
theguitarmester
Membro
Membro
Mensagens: 21
Registrado em: Sáb Ago 22, 2015 12:32 am
Karma: 11

Contato:

Re: Emojis junto com keyboard_string?

Dom Jan 14, 2018 12:32 pm

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).
Editado pela última vez por junior.rod2 em Seg Jan 15, 2018 2:37 pm, em um total de 1 vez.
Razão: Corrigir a formatação.
 
Foxy Of Jungle
Membro
Membro
Autor
Mensagens: 72
Registrado em: Qua Abr 26, 2017 12:21 am
Localização: Brasil
Karma: 48
Contato:

Re: Emojis junto com keyboard_string?

Dom Jan 14, 2018 1:34 pm

Obrigado pelo seu tempo! vou pensar como fazer.
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 413
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 445

Contato:

Re: Emojis junto com keyboard_string?  Tópico resolvido

Qui Jan 18, 2018 11:32 am

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.

Imagem

- 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):

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):

keyboard_string = string_replace_all(keyboard_string, ";)", chr(1));


- Quando for desenhar a fonte:

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!
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Foxy Of Jungle
Membro
Membro
Autor
Mensagens: 72
Registrado em: Qua Abr 26, 2017 12:21 am
Localização: Brasil
Karma: 48
Contato:

Re: Emojis junto com keyboard_string?

Qui Jan 18, 2018 1:25 pm

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)

Quem está online

Usuários navegando neste fórum: Curioso e 0 visitante