Escrever Letra-por-letra

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

Escrever Letra-por-letra

Mensagem por DRcrusher em Sex 18 Fev 2011, 19:13

Assim,
Estou criando um sistema de dialogo para usar em um futuro jogo que ainda vou criar...estava tentando fazer um dialogo que fosse escrito letra-por-letra e que tivesse um jeito de mudar de cor uma certa palavra quando eu escrevesse a apalvra entre colchetes ou chaves ou parenteses...

eu estava usando um códiog assim:

while char<=string_length(argument0)
{
char+=1;
str = string_copy(argument0,char,1);
str_letter = string_copy(argument0,char,1);
draw_text_ext(view_xview + 116 + ((char - 1)*10),view_yview + 370,string(str),20,500);
screen_refresh();
sleep(20);
}

Estudando um pouco o código vi que ele na verdade só fazia um efeito, mas que na verdade ele não escrevia letra-por-letra, ele escrevia tipo asiim:

o
oi
oi,
oi,t
oi,tu
oi,tud
oi,tudo...e assim por diante

escrevendo uma coisa por cima da outra, fazer um código usando draw_set_color() não adiantaria porque ele escreveria todo o texto denovo só que com a nova cor...

eu gostaria de saber se tem algum jeito de ou:

"fazer o texto ser realmente escrito letra-por-letra para que um simples draw_set_color() seja nescessário para mudar a cor da letra"

ou

"dar um jeito de mudar a cor de apenas certas letras"

agradeço desde já... Fight!


Última edição por DRcrusher em Sab 19 Fev 2011, 10:20, editado 1 vez(es)

DRcrusher

Número de Mensagens : 17
Data de inscrição : 30/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por dharrison em Sex 18 Fev 2011, 19:20

cara ja tentei fazer isso tbm
mas eh foda pra caramba

tpw, tente procurar engines em ingles, uma vez eu tinha achado uma
mas acabei perdendo devido a formatação

chamava-se typewriter text (algo assim)
eu tinha visto na GM Community.

dharrison

Ranking : Nota B
Número de Mensagens : 1243
Idade : 25
Data de inscrição : 04/02/2009
Notas recebidas : A - B
Reputação : 89
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por vinians em Sex 18 Fev 2011, 20:06

E ae amigão blz? Podes fazer assim:
Crie um objeto chamado objDigitador.
No Evento CREATE:

texto = "Texto que deve ser escrito letra a letra";
index = 1;
tempo = 0;
for (i = 1; i <= string_length(texto); i += 1)
{
ar[i,1] = string_copy(texto, i, 1);
ar[i,2] = choose(c_red, c_yellow, c_white);
}

No Evento STEP:


tempo += 1;
if ((tempo mod 5) == 0) index += 1;
if (index > string_length(texto)) index = 1;


No Evento DRAW:

var w, ch, s;
w = 0;
s = "";
for (i = 1; i <= index; i += 1)
{
ch = ar[i, 1];
w = string_width(s);
s += ch;
draw_set_color(ar[i, 2]);
draw_text(x + w, y, ch);
}

É isso ai, esse código funciona perfeitamente, tirei de um projeto meu. Você pode usar essa implementação ou mudar para suas necessidades.
FLws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por DRcrusher em Sab 19 Fev 2011, 10:19

Tá, vlw pela ajuda mas...
eu queria um tipo de script no qual eu pudesse apenas chamá-lo pelo método nome_do_script("texto",etc,etc) entende???

eu já tentei fazer de um jeito que quando você queria falar com alguem você apertava espaço e ai ele criava um objeto que então mostrava o texto mas não me sai muito bem...

Será que você tem algo parecido...Pode ter mais de um script...

DRcrusher Fight!

DRcrusher

Número de Mensagens : 17
Data de inscrição : 30/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por vinians em Sab 19 Fev 2011, 10:40

Basta você criar um script que crie esse objeto que lhe passei:
Nome do script:
scrPicota_mensagem
Código:

var texto;
texto = argument0;
in = instance_create(x, y, objDigitador);
in.texto  = texto;
Viu, basta chamar o script assim:
Código:

scrPicota("meu texto picotado");
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por DRcrusher em Sab 19 Fev 2011, 11:04

FATAL ERROR in
action number 1
of Create Event
for object objWriter:

COMPILATION ERROR in code action
Error in code at line 1:
texto = "Texto que deve ser escrito letra a letra";
^
at position 84: Unknown function or script: rgb


o que é isso???

DRcrusher

Número de Mensagens : 17
Data de inscrição : 30/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por vinians em Sab 19 Fev 2011, 11:15

Amigo, isso é erro no seu código em alguma coisa que você mesmo fez. O código que lhe passei é testado.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Escrever Letra-por-letra

Mensagem por Conteúdo patrocinado Hoje à(s) 21:10


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