[RESOLVIDO] Letra personalizada no DRAW

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

Resolvido [RESOLVIDO] Letra personalizada no DRAW

Mensagem por galavernaa em Qua 02 Jan 2013, 21:01

Falae pessoal blz ?? espero que sim , queria saber se tem como fazer uma letra personalizada no draw , mas aí você me pergunta letra personalizada como ??
Mesclada de 2 cores ( isso sei fazer) com contorno preto , mas na hora do draw quero que só essa "palavra" use está fonte , os outro objetos continuem usando outras fontes , e também como já disse e vou reforçar é importante o contorno , obrigado! Very Happy

para fazer algo parecido com esse 3hit...


Última edição por galavernaa em Qui 03 Jan 2013, 10:54, editado 1 vez(es)

galavernaa

Número de Mensagens : 97
Idade : 19
Data de inscrição : 20/12/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por Davichococat em Qua 02 Jan 2013, 21:07

Se eu não me engano, o que você quer é a função draw_set_font().

Código:
draw_set_font(nome da fonte)

Ela modifica a fonte a ser desenhada. Pra voltar a fonte normal, mude o parâmetro "nome da fonte" para -1.

Sobre o contorno... Não acho que há uma função específica do Game Maker. Você pode usar outros meios, como:

Desenhar uma outra palavra atrás, maior, preta, que funcionaria como contorno;
ou fazer sua palavra como sprite.

Davichococat

Número de Mensagens : 182
Data de inscrição : 29/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por galavernaa em Qua 02 Jan 2013, 21:33

Davichococat escreveu:Se eu não me engano, o que você quer é a função draw_set_font().

Código:
draw_set_font(nome da fonte)

Ela modifica a fonte a ser desenhada. Pra voltar a fonte normal, mude o parâmetro "nome da fonte" para -1.

Sobre o contorno... Não acho que há uma função específica do Game Maker. Você pode usar outros meios, como:

Desenhar uma outra palavra atrás, maior, preta, que funcionaria como contorno;
ou fazer sua palavra como sprite.
É então , pode ser isso , mas aí se eu for fazer sprite pra numero de hits/o dano que tira um ataque precisarei de 99 sprites , por isso queria saber se tem algum script ou algo do gênero que faça isso!

galavernaa

Número de Mensagens : 97
Idade : 19
Data de inscrição : 20/12/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por JoaoVanBlizzard em Qua 02 Jan 2013, 21:35

Nesse caso você pode,colocar fontes e cores para os outros objetos que usam o evento draw assim eles terao suas propias fontes e cores(é o metodo que eu mais uso) quanto ao metodo de letra personalizada use a dica do Davichococat,criando fonte na ferramenta "font" ,mas coloque antes do texto do contrario pode não surtir efeito nele.

JoaoVanBlizzard

Ranking : Nota B
Número de Mensagens : 1925
Idade : 38
Data de inscrição : 04/03/2012
Notas recebidas : B+B
Reputação : 144
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por Davichococat em Qua 02 Jan 2013, 21:47

galavernaa escreveu:
Davichococat escreveu:Se eu não me engano, o que você quer é a função draw_set_font().

Código:
draw_set_font(nome da fonte)

Ela modifica a fonte a ser desenhada. Pra voltar a fonte normal, mude o parâmetro "nome da fonte" para -1.

Sobre o contorno... Não acho que há uma função específica do Game Maker. Você pode usar outros meios, como:

Desenhar uma outra palavra atrás, maior, preta, que funcionaria como contorno;
ou fazer sua palavra como sprite.
É então , pode ser isso , mas aí se eu for fazer sprite pra numero de hits/o dano que tira um ataque precisarei de 99 sprites , por isso queria saber se tem algum script ou algo do gênero que faça isso!
Pesquisando, eu achei aqui uma solução para o seu problema.
São duas funções para desenhar strings com borda de espessura e cor variáveis. Mudando apenas uma linha você também pode ajustar a cor do texto para gradiente. Lembrando que o script não é meu, você pode encontrar o respectivo autor clicando no link acima.
Spoiler:
draw_text_outline
Código:
var color;
color=draw_get_color();
draw_set_color(c_black);
for(i=argument0-argument2;i<=argument0+argument2;
i+=1){
for(n=argument1-argument2;n<=argument1+argument2;
n+=1){
draw_text(i,n,argument3);}}
draw_set_color(c_white);
draw_text(argument0,argument1,argument3);
draw_set_color(color);
Argumento 0: posição x do texto;
Argumento 1: posição y do texto;
Argumento 2: espessura da borda;
Argumento 3: texto(string) a ser mostrado.
draw_text_outline_color
Código:

var color;
color=draw_get_color();
draw_set_color(argument5);
for(i=argument0-argument2;i<=argument0+argument2;
i+=1){
for(n=argument1-argument2;n<=argument1+argument2;
n+=1){
draw_text(i,n,argument3);}}
draw_set_color(argument4);
draw_text(argument0,argument1,argument3);
draw_set_color(color);
Mesma função, com dois argumentos extras(que, respectivamente, são): cor do texto, cor da borda.

Espero ter ajudado. Outra coisa: Você não precisaria de 99 sprites para o dano, apenas 10, afinal, usamos o sistema númerico decimal. Para fazer o número 420, basta ter o sprite "4", "2" e "0", e mostrar eles em ordem para formar um número. Com 255 sprites, dá pra simular todo o "espectro" de caracteres ASCII.

EDIT:
Parece que para espessuras maiores que 1, o script gera bordas meio quadradas. Não acho que vá a ser um problema para você, já que no seu caso, a borda é fina. Mas se quiser usar bordas mais espessas que "1", você vai precisar fazer com que ela fique redonda, o que pode requirir uma boa dose de lógica e matématica básica.
Procurando na internet você pode achar uma solução (não específica para o Game Maker).

Davichococat

Número de Mensagens : 182
Data de inscrição : 29/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por galavernaa em Qui 03 Jan 2013, 10:52

Davichococat escreveu:
galavernaa escreveu:
Davichococat escreveu:Se eu não me engano, o que você quer é a função draw_set_font().

Código:
draw_set_font(nome da fonte)

Ela modifica a fonte a ser desenhada. Pra voltar a fonte normal, mude o parâmetro "nome da fonte" para -1.

Sobre o contorno... Não acho que há uma função específica do Game Maker. Você pode usar outros meios, como:

Desenhar uma outra palavra atrás, maior, preta, que funcionaria como contorno;
ou fazer sua palavra como sprite.
É então , pode ser isso , mas aí se eu for fazer sprite pra numero de hits/o dano que tira um ataque precisarei de 99 sprites , por isso queria saber se tem algum script ou algo do gênero que faça isso!
Pesquisando, eu achei aqui uma solução para o seu problema.
São duas funções para desenhar strings com borda de espessura e cor variáveis. Mudando apenas uma linha você também pode ajustar a cor do texto para gradiente. Lembrando que o script não é meu, você pode encontrar o respectivo autor clicando no link acima.
Spoiler:
draw_text_outline
Código:
var color;
color=draw_get_color();
draw_set_color(c_black);
for(i=argument0-argument2;i<=argument0+argument2;
i+=1){
for(n=argument1-argument2;n<=argument1+argument2;
n+=1){
draw_text(i,n,argument3);}}
draw_set_color(c_white);
draw_text(argument0,argument1,argument3);
draw_set_color(color);
Argumento 0: posição x do texto;
Argumento 1: posição y do texto;
Argumento 2: espessura da borda;
Argumento 3: texto(string) a ser mostrado.
draw_text_outline_color
Código:

var color;
color=draw_get_color();
draw_set_color(argument5);
for(i=argument0-argument2;i<=argument0+argument2;
i+=1){
for(n=argument1-argument2;n<=argument1+argument2;
n+=1){
draw_text(i,n,argument3);}}
draw_set_color(argument4);
draw_text(argument0,argument1,argument3);
draw_set_color(color);
Mesma função, com dois argumentos extras(que, respectivamente, são): cor do texto, cor da borda.

Espero ter ajudado. Outra coisa: Você não precisaria de 99 sprites para o dano, apenas 10, afinal, usamos o sistema númerico decimal. Para fazer o número 420, basta ter o sprite "4", "2" e "0", e mostrar eles em ordem para formar um número. Com 255 sprites, dá pra simular todo o "espectro" de caracteres ASCII.

EDIT:
Parece que para espessuras maiores que 1, o script gera bordas meio quadradas. Não acho que vá a ser um problema para você, já que no seu caso, a borda é fina. Mas se quiser usar bordas mais espessas que "1", você vai precisar fazer com que ela fique redonda, o que pode requirir uma boa dose de lógica e matématica básica.
Procurando na internet você pode achar uma solução (não específica para o Game Maker).
Cara , muito obrigado : RESOLVIDO

galavernaa

Número de Mensagens : 97
Idade : 19
Data de inscrição : 20/12/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por Thopson1m em Seg 07 Jan 2013, 19:47

Tópico trancado, pois a dúvida do autor foi resolvida.
Caso necessites, favor se dirigir à mim ou à qualquer outro moderador para destrancar este seu tópico.

Thopson1m

Número de Mensagens : 624
Idade : 26
Data de inscrição : 21/05/2011
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gnbr.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Letra personalizada no DRAW

Mensagem por Conteúdo patrocinado Hoje à(s) 11:46


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