fonte com sprites

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

fonte com sprites

Mensagem por GameLoftMaker em Qui 22 Mar 2012, 20:54

ola gnt, eu gostaria d saber como eu faço com q as fontes sejam sprites, por exemplo: font A = spr_fontA (desenho da letra A) ?

GameLoftMaker

Número de Mensagens : 70
Idade : 18
Data de inscrição : 21/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.arkadesgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por henriquebr em Qui 22 Mar 2012, 20:58

ue, e so vc desenhar as letras, acho que nao tem como trasnformar uma fonte em sprites O-O

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por The Wizard em Qui 22 Mar 2012, 21:04

Henrique,perdoe-me mas isso é extremamente possível,já vi um Tuto explicando como fazer,se faz uma sprite com todas as letras ,e a organiza de uma forma que a transforma em fonte,não sei como se faz,só sei que é possível

The Wizard

Ranking : Nota B
Número de Mensagens : 1129
Idade : 18
Data de inscrição : 24/03/2010
Notas recebidas : B
Reputação : 17
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://awesomewizards.deviantart.com/

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por MatheusReis em Qui 22 Mar 2012, 21:10

Existe um comando no Game maker que cria uma nova fonte apartir de uma sprite (seus frames)

font_add_sprite( sprite , primeira letra , proporcional , separação);
*sprite > sprite a ser usada
*primeira letra > primeira letra (frame) da sprite
Se minha primeira letra for a letra A (maiúsculo mesmo)
substitua por ord('A')
*proporcional > Se as caixas de colisão dos frames são proporcionais à sua largura (true ou false).
*separação > separação extra em pixels entre as letras.

ex:
Adicionando uma fonte que começa no ponto de exclamação, proporcional e com separação extra valendo 3:
Código:
global.NOVA_FONTE=font_add_sprite(spr_fontenova,ord('!'),true,3)
Sempre que quizer usar a fonte, use o comando draw_set_font(global.NOVA_FONTE);

A ordem dos caracteres na fonte deve respeitar a lista de caracteres Unicode, que pode ser encontrada aqui, na primeira tabela (C0 Controls and Basic Latin). Geralmente, começamos uma fonte de sprite no ponto de exclamação, pois a partir daí estão os caracteres visíveis.

Espero ter ajudado. o/

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por henriquebr em Qui 22 Mar 2012, 21:11

hmm, mas tudo bem, nao precisava pedir desculpas, eu disse que ACHAVA que nao tinha como, fica diboas ;)

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Super Maker em Qui 22 Mar 2012, 22:17

Você tem que saber a sequncia doscaracteres sendo que o primeiro tem que ser (!). Faz um strip de todos esses caracteres ja com os efeitos que você preferir e os chama assim:
Código:
fonte=font_add_sprite(spr_font,ord('!'),1,4);
draw_set_font(fonte);
draw_set_color(c_white);
draw_text(0,0,"Testando minha fonte personalizada");
Pronto, sua fonte ja pode ser usado nos seus jogos.

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por saim em Qui 22 Mar 2012, 23:48

Super Maker, tem duas informações aí que não batem com um teste que eu fiz (já tem um tempo, então eu posso estar enganado).

A primeira é que não existe nenhum caractere obrigatório pra começar. Se for uma fonte só pra escrever "GO", por exemplo, você pode começar no "G" e terminar no "O". Infelizmente, não tem como deixar de colocar as intermediárias.

A segunda é que você disse que usa uma strip. Não é bem assim. A sprite tem que ter uma letra em cada image_index.
Claro que você pode importar a sprite a partir de uma strip, mas aí é como fazer a sprite, não a fonte.

Já faz um tempo que eu cismei de entender como funciona isso. Essas são as informações que ficaram na minha cabeça, mas elas podem ter perdido a validade. Se eu estiver confundindo mais do que ajudando, peço desculpas.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Super Maker em Sex 23 Mar 2012, 01:32

Saim, eu inicio com "!" por que é esse caractere que a máquina reconhece como inicial, se eu fizer de outro modo, meus textos não serão mostrados da forma que eu escreví.
Eu procuro deixar todos os caracteres, por que sei que no decorrer de um projeto, eu posso ter a ideia de escrever algo que contenha algum caractere em especial e pra não ter que refazer, eu deixo essa dica pra todos aqui.
Eu vou no mapa de caracteres, escolho a fonte desejada, faço o strip com o editor de imagens do GM, aplico alguns efeitos e pronto, só usar a fonte.
Esse é o modo que eu acho mais fácil pra fazer essa fonte.
Aqui um mini tuto pra quem não entendeu:

Até mais pessoal!

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por saim em Sex 23 Mar 2012, 09:27

Entendi.
Bom, isso é válido pro desenvolvimento do projeto, mas pro projeto finalizado, remover os caracteres que não serão usados diminui o peso do arquivo final (requer testes depois, pra não correr o risco de remover algum caractere importante). No caso do "GO", por exemplo, você reduz sua sprite de 94 caracteres pra 9. Se você definir o primeiro caractere da fonte como a primeira imagem da sprite, o texto aparece direitinho.

Refiz o velho teste aqui e parece que ainda tem mais uma pegadinha a ser levada em conta: A fonte é desenhada mesclada com a cor atual.
Quer dizer o seguinte, pra fonte aparecer do jeitinho que você quer, ela deve ser feita em branco ou tons de cinza e com fundo transparente. Se você quiser uma fonte colorida por definição, deve definir o draw_set_color pra branco - ou usar draw_text_color, mesclando com branco.
curiosidade:
Pra refazer o teste, usei o manual traduzido. Olha que engraçada a tradução:
manual traduzido escreveu:font_add_sprite (SPR, em primeiro lugar, prop, setembro) adiciona uma nova fonte e retorna seu índice. A fonte é criado a partir de um objeto. O sprite deve conter uma subimage para cada personagem. primeiro indicar o índice do primeiro caractere na sprite. Por exemplo, utilize ord ('0 ') se o seu sprite contém apenas os dígitos. prop indica se a fonte é proporcional. Em uma fonte proporcional, para cada personagem a largura da caixa delimitadora é usado como a largura de carácter. Finalmente, setembro indica a quantidade de espaço em branco que deve separar os personagens horizontalmente. Um valor típico seria situar-se entre 2 e 8, dependendo do tamanho da fonte.
O tradutor usado fez um balaio de gato. "Caractere" virou "personagem" e "carácter"; e "sep" (separation - separação) virou setembro (de "september"). Ri sozinho, aqui.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Kabeção em Sex 23 Mar 2012, 10:40

O legal é que você pode trocar os caracteres de símbolos que não usa nos texto por botões de gamepad, smyles e coisas do tipo para deixar mais customizado.

Tem dois utilitários que gostei bastante quando mexi com isso
http://sandbox.yoyogames.com/games/156692
http://sandbox.yoyogames.com/games/51141

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Super Maker em Sex 23 Mar 2012, 20:32

Concordo com você Saim.
E como a fonte é criada por uma imagem, não tem como clicar em Character Ranger > All.
Se for pra usar todos os caracteres tem que ser por números, mas isso só se for usar caracteres especiais.
Exemplo:
Código:
chr(136) = ©
chr(137) = ª
chr(138) = «
chr(139) = ¬
chr(141) = ®
chr(143) = º
chr(154) = »
chr(160) =Á
chr(172) = Í
chr(178) = Ó
chr(179) = Ô
chr(191) = à
chr(192) = á
chr(200) = é
No draw ficaria:
Código:
draw_text(0,0,"A "+chr(192)+"gua "+chr(200) +" fundamental na vida dos seres vivos");
Fonte personalizada mesmo.
Falou!

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por GameLoftMaker em Sex 23 Mar 2012, 21:38

nenhuma da resposta de voçes pegou, acho que vcs entederam que eu queria uma var quando disse: fonte A=spr_fontA

GameLoftMaker

Número de Mensagens : 70
Idade : 18
Data de inscrição : 21/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.arkadesgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Super Maker em Sex 23 Mar 2012, 23:16

GameLoftMaker escreveu:nenhuma da resposta de voçes pegou, acho que vcs entederam que eu queria uma var quando disse: fonte A=spr_fontA
Nós entendemos sim amigo, só que nós te mostramos esses resultados, por que se você for fazer letra por letra em sprites separados vai te dar muito mais trabalho.

Quer tentar?
Então desenha algumas letras aí que formaria a palavra, fonte.
Desenha letra por letra em sprites diferentes as nomeie assim: spr_f, spr_o, spr_n, spr_t e spr_e.

No create: Action Create
Código:
f = spr_f;
o = spr_o;
n = spr_n;
t = spr_t;
e = spr_e;
Só esse create já da pra ver o problema

E no draw: Event Draw
Código:
draw_sprite(f,0,x,y);
draw_sprite(o,0,x+20,y);
draw_sprite(n,0,x+45,y);
draw_sprite(t,0,x+65,y);
draw_sprite(e,0,x+85,y);
Tudo isso de linha pra escrever uma só palavra? Ah, não!


Executando da pra ver que funcionou mesmo, mas repare no trabalhão que daria escrever as informações dos seus jogos dessa forma.

Agora, aproveita e baixa a engine que eu fiz pra você, ela ta com os carecteres completos e com efeito.
Link: sprite_font

Até mais!

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: fonte com sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 12:29


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum