Jump to content


Photo

Typewriter - Digitação


  • Faça o login para participar
8 replies to this topic

#1 sermaco

sermaco

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 11/09/2003, 22:56

Alguém sabe como fazer aquele efeito de digitação, em que as letras vão aparecendo uma a uma?
Outro jeito que não seja fazer letra por letra no braço?

#2 Kleber

Kleber

    Magavilha!

  • Visitantes
  • PipPipPip
  • 210 posts
  • Sexo:Não informado

Posted 12/09/2003, 02:50

Eu li esse tutorial tempo atras:
tutorial
É bem fácil de se fazer. Mesmo sem ler o tutorial dessa página, dá pra entender apenas com o exemplo .FLA:

exemplo FLA

Espero q ajude.

FLW pru C. B)
Nome: Kleber Anderson
E-mail: kleber.sylva@bol.com.br
MSN: kleber7777@hotmail.com

#3 Jonas Galvez

Jonas Galvez

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 12/09/2003, 03:11

Você pode fazer isso com setInterval:

function escrever(campo, palavra) {
    var id = setInterval(function(c) {
        campo.text += palavra.charAt(c++);
        if(c == palavra.length) clearInterval(id);
    }, 100, 0);
}
escrever(seuCampoDeTextO, "Alguma palavra");

Lembrando que neste uso, onde a função é passada como primeiro parâmetro do setInterval, o segundo parâmetro indica o intervalo (em milissegundos) no qual a função será executada.

#4 Pirucask8

Pirucask8

    SouzaColen

  • Usuários
  • 1925 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Capital !!

Posted 12/09/2003, 16:03

Jonas Galvez??

é uma honra tê-lo como participante do nosso fórum! Esperamos que você possa contribuir conosco, afinal acho que é quase impossível ensinarmos algo para você! :lol:

De qualquer forma desejamos as boas vindas!
B)
Matheus Colen

Escabroso Produções

#5 [FeNriS]

[FeNriS]

    j u s t . a . c u b e

  • Usuários
  • 364 posts
  • Sexo:Não informado
  • Localidade:Bauru-SP

Posted 12/09/2003, 16:10

Nossa... Jonas Galvez por aki?

é uma ÓTIMA contribuição para o fórum na área de Flash.... seja bem-vindo :)
"Quem pensa pouco, erra muito." - DaVinci

"Toda experiência é válida!" - Henrique Behr

#6 DuRanG

DuRanG

    Doutor

  • Usuários
  • 988 posts
  • Sexo:Masculino
  • Localidade:Brasília - DF

Posted 13/09/2003, 06:46

Jonas Galvez Postado: 12 Sep 2003, 03:11

Newbie

:o
Leandro Ferreira

#7 Jonas Galvez

Jonas Galvez

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 13/09/2003, 07:58

Valeu pela boa recepção, pessoal.
Espero poder ajudar no que for possível :)

Pirucask8, na verdade, a melhor forma de aprender é tentando ajudar e resolver o problema de outras pessoas. Na falta de projetos e oportunidades para praticar nosso conhecimento, a melhor forma de evoluir é participando das comunidades online (e sou um viciado nelas :D)...

#8 c0de

c0de

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 13/09/2003, 15:29

Você pode fazer isso com setInterval:

function escrever(campo, palavra) {
    var id = setInterval(function(c) {
        campo.text += palavra.charAt(c++);
        if(c == palavra.length) clearInterval(id);
    }, 100, 0);
}
escrever(seuCampoDeTextO, "Alguma palavra");

Lembrando que neste uso, onde a função é passada como primeiro parâmetro do setInterval, o segundo parâmetro indica o intervalo (em milissegundos) no qual a função será executada.

Hmm... eu nunca tinha pensado nisso... na verdade, nem sabia usar o setInterval direito (desde o mIRC, com os Timers eu tenho problema com isso hehehe)... agora, eu fui testar o código e... não funcionou... Ao invés de ele colocar o texto certo, ele fica repetindo a primeira letra infinitamente.
Eu tentei modificar o código, criando uma linha para adicionar + 1 ao "C" sem ser no meio do charAt, mas não funcionou... tentei usar palavra.substring e também não funcionou... Há algo de errado com o código ou é só "zica" minha mesmo?

PS: Quando eu fui tentar fazer um código como esse, só que sem o CtrlC + CtrlV, o Output dizia que faltavam as vírgulas após o "setInterval(function©" e que tinha vírgula a mais no "},100,0);"... hmm... como eu faço para continuar um código numa outra linha sem dar um "break"?

#9 Thyago Mendes

Thyago Mendes

    ActionScript

  • Usuários
  • 161 posts
  • Sexo:Não informado
  • Localidade:Recife - PE

Posted 18/09/2003, 01:07

function escrever(campo, palavra) {
	var id = setInterval(function () {
  campo.text += palavra.charAt(c++);
  if (c == palavra.length)clearInterval(id);
	}, 100);
}
escrever(campo, "Alguma palavra");

um exemplo com o MX 2004

TextField.prototype.escreve = function(frase:String, vel:Number) {
	var i:Number = 0
	var $this:TextField = this
	var id = setInterval(function () {
  i++ == frase.length ? clearInterval(id) : $this.text += frase.charAt(i-1)
	}, vel)
}
this.createTextField("tTexto", 1, 10, 10, 250, 20)
tTexto.escreve("Uma Frase", 100)

qualquer dúvida poste novamente

Edição feita por: Thyago Mendes, 18/09/2003, 01:58.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq