Conectar-se

Esqueci minha senha

Últimos assuntos
» Nota de esclarecimento - GMBR voltou!
Ontem à(s) 20:33 por Willy

» Regras do Fórum
Ontem à(s) 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz


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)
avatar
CPinheiro

Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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!
avatar
Volstagg

Data de inscrição : 16/05/2008
Número de Mensagens : 353
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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?
avatar
KinKing

Data de inscrição : 29/05/2008
Número de Mensagens : 416
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário 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!
avatar
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

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!";
avatar
CPinheiro

Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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.
avatar
KinKing

Data de inscrição : 29/05/2008
Número de Mensagens : 416
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário 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)
avatar
F. Nizzio

Data de inscrição : 19/07/2008
Número de Mensagens : 758
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

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
avatar
RKNF1995

Data de inscrição : 19/07/2008
Número de Mensagens : 1257
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário 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!
avatar
Dialga111

Data de inscrição : 13/03/2010
Número de Mensagens : 33
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

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 ?
avatar
.:Allison:.

Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário 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
avatar
fokao

Data de inscrição : 14/09/2008
Número de Mensagens : 264
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

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!
avatar
AlexBosquin

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário 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!!!!
avatar
Raph0512

Ranking : Sem avaliações
Data de inscrição : 15/07/2015
Número de Mensagens : 10
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Fazendo um texto aparecer letra por letra

Mensagem por Conteúdo patrocinado


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