Fazendo um texto aparecer letra por letra

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

Fazendo um texto aparecer letra por letra

Mensagem por CPinheiro em Qui 05 Jun 2008, 16:59

Fazendo textos com efeito de letra por letra
Autor: CPinheiro / Morello
Ensina: Como fazer o efeito clássico nos jogos rpg em que o texto vai aparecendo aos poucos, letra por letra.

1. Introdução
Fazer um texto que aparece letra por letra é bem mais fácil do que se imagina. Mas, muita gente pensa que este efeito é muito difícil de se fazer e que não vai conseguir, que vai ter dificuldades e coisa do tipo. O objetivo dessa matéria é mostrar aos iniciantes que esse efeito é mais fácil de se fazer do que se imagina.

2. Declarando as variáveis
Para fazer o texto aparecer letra por letra, vamos precisar de algumas variáveis. Sendo mais exato, três. Uma vai indicar a string completa do texto, ou seja, o texto que vai aparecer no final. A segunda vai representar o texto que está aparecendo aos poucos, letra por letra, copiando a string da primeira variável. A terceira é para ir "somando" letras a string. Sendo mais claro, é como se fosse a velocidade em que aparece. Declare as variáveis no evento Create:

Código:
str1="Texto que vai aparecer com#efeito de letra por letra. Isso é rox!";
str2=""; //O efeito letra por letra, basicamente.
texto=0; //velocidade, de certo modo.

3. O código mais importante de todos
Você vai ver o código que vai fazer o efeito. Você não vai acreditar: É bem mais simples do que você imagina! Coloque o seguinte código no evento Step:

Código:
texto+=0.25;
str2=string_copy(str1,0,texto);

Sim, é só isso que você precisa. Agora, todo o efeito letra por letra já está programado. Só falta ser desenhado. Se você não sabe para que serve o string_copy, ele serve para copiar uma string. No primeiro argumento, escolha a string que vai ser copiada, que neste caso, foi a variável str1. No segundo argumento, determinamos o valor 0 (padrão), que serve para indicar que a string sempre vai ser copiada no final do texto. Não altere isso, pois se alterar, o código não vai mais funcionar. O terceiro argumento indica quantos carácteres devem ser copiados. Colocamos a variável texto naquele argumento. O valor inicial da variável texto foi 0, mas ele vai aumentando em 0.25, fazendo com que o texto aumente aos poucos. Você pode aumentar/diminuir esse valor para aumentar/diminuir a velocidade em que o texto aparece.

4. Desenhando o efeito
Esse tutorial exige o conhecimento mínimo do Game Maker. Então, você já deve saber adicionar fontes ao seu jogo. Crie uma fonte nova e chame de "fnt_letra_por_letra", e coloque a fonte que você quiser, que não seja muito grande. Ah, e não esqueça de clicar no botão all que existe no local onde você cria a fonte, para garantir que todos os carácteres apareçam. Agora, desenhando o texto, coloque esse código no evento Draw:

Código:
draw_text(40,50,str2);

Isso faz com que a string da variável str2 seja desenhada x40 e y50. Se você não sabe para que serve o evento draw, ele serve para desenhar coisas na tela.

5. Fim do tutorial
Sim, é só isso o necessário para fazer um texto aparecer letra por letra. É mais simples do que muita gente pensa. apesar de ser bem simples de ser feito ele dá um toque especial na hora do jogo, deixando-o muito mais profissional. Espero que vocês tenham gostado!


Última edição por CPinheiro em Qua 23 Set 2009, 16:46, editado 1 vez(es)

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Volstagg em Qui 05 Jun 2008, 18:05

Opa, outro dia tava tentando imaginar como fazer isso... Valeu ae!

Volstagg

Número de Mensagens : 353
Data de inscrição : 16/05/2008
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: Fazendo um texto aparecer letra por letra

Mensagem por KinKing em Qui 05 Jun 2008, 18:32

Dificilmente pensaria em como fazer isso.

Agora posso dar um toque extra nas apresentações Exclamation

Obrigado.

EDIT: Sim, eu testei, ficou ótimo, mas o texto só vai até certa parte da tela Exclamation
Como fazer para que vá até o fim?

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Janx em Qui 05 Jun 2008, 19:39

interessante, bem legal!
Talvez eu use isso no meu jogo Razz

Parabens pelo tutorial!

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por CPinheiro em Sab 07 Jun 2008, 09:59

KinKing escreveu:Dificilmente pensaria em como fazer isso.

Agora posso dar um toque extra nas apresentações Exclamation

Obrigado.

EDIT: Sim, eu testei, ficou ótimo, mas o texto só vai até certa parte da tela Exclamation
Como fazer para que vá até o fim?

Você quis dizer que o texto não pula "linhas", segue reto até sair da tela? Caso seja isso, é só você inserir "#" para pular linhas no seu texto:

Código:

var_do_texto="texto que aparece na linha#isso já aparece na linha de baixo!";

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por KinKing em Sab 07 Jun 2008, 10:10

Não, eu quero dizer exatamente o oposto. Mas já resolvi, valeu.

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por F. Nizzio em Sab 19 Jul 2008, 22:06

KinKing escreveu:Não, eu quero dizer exatamente o oposto. Mas já resolvi, valeu.

Laughing você devia ter explicado melhor.

É verdade que eu sempre achei a explicação de que não há explicação nenhuma, ou pelo menos nenhuma que o cérebro humano entenderia, a mais fantástica de todas, mas reconheço que é um sumidouro. Não a recomendo. Toda a força, portanto, à imaginação, a todas as escatologias, a todas as seitas e a todos os santos. Tudo se resume naquela música — ou é apenas uma frase? — do John Lennon, Whatever Gets You Through The Night. O que ajudar você a atravessar a noite, está certo. É difícil lidar com toda essa herança que a gente recebe junto com um corpo e uma mente, uma vida finita num universo infinito, sem nem um manual de instrução. No escuro, todas as respostas são válidas, todas as crenças são respeitáveis.

Eu, por exemplo, estou desenvolvendo a tese de que a explicação de tudo está na alcachofra. Ainda não sei bem onde isto vai me levar, mas sinto que estou perto de uma revelação. Deus é uma alcachofra. Quando desenvolver melhor a ideia, volto ao assunto.


Última edição por F. Nizzio em Qui 27 Jan 2011, 19:51, editado 2 vez(es) (Razão : wtf)

F. Nizzio

Número de Mensagens : 758
Idade : 21
Data de inscrição : 19/07/2008
Reputação : -6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por RKNF1995 em Seg 21 Jul 2008, 16:10

agora sim vai dar para fazer jogos com classe otimo tuto obrigado pela ajuda

RKNF1995

Número de Mensagens : 1257
Idade : 21
Data de inscrição : 19/07/2008
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.rknf1995.blogspot.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Dialga111 em Sab 13 Mar 2010, 21:00

Oi, desculpa reviver um tópico tão velho, mas estou com uma dúvida e não encontrei a resposta em nenum outro lugar.

Como eu faço pra quando acaba o texto aparece aquela setinha piscando que indica que vc precisa aperta o espaço pra ir pro próximo texto? Eeu sei como fazê-la piscar, mas não sei como fazer com que ela apareça no final do texto...


mas uma vez peço perdão por reviver o tópico...

flw e vlw!

Dialga111

Número de Mensagens : 33
Data de inscrição : 13/03/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por .:Allison:. em Qua 23 Fev 2011, 23:36

Desculpe-me por reviver esse tópico mais é que quando colocamos letras com acento, qualquer acento, ele tira essa letra, como resolver ?

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 19
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por fokao em Qua 23 Fev 2011, 23:41

o problema é do character range da sua fonte, ela não tem os acentos.
flws

fokao

Número de Mensagens : 264
Idade : 23
Data de inscrição : 14/09/2008
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por AlexBosquin em Qua 08 Jan 2014, 17:33

Cara parabéns, um dos tutoriais mais úteis que tenho visto ultimamente!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Raph0512 em Qui 13 Ago 2015, 18:50

Muito Obrigado!!!!
Precisava de um código desse vlw msm, fico muito pau!!!!

Raph0512

Ranking : Sem avaliações
Número de Mensagens : 10
Data de inscrição : 15/07/2015
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Conteúdo patrocinado Hoje à(s) 02:05


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