Por vezes, é preciso criar filmes em Flash que irão manipular uma grande quantidade de textos. De início, poderíamos estar tentados a inserir esses textos, directamente, nos filmes. Entretanto, se o fizermos, estaremos a causar os seguintes problemas:
- o aumento do tamanho do ficheiro do filme;
- o aumento do tempo de carregamento do filme via Web;
- o aumento da complexidade de manutenção do filme, caso seja preciso modificar algo nos textos.
Para evitar esses problemas, a melhor maneira é a de inserir os textos num ficheiro TXT, à parte, e carregá-los à partir do filme Flash. Para conseguir fazer isso, teremos de utilizar a função LoadVariables, da linguagem ActionScript do Flash (Agradeço ao Roque Fernandes da Impacta, que ajudou a abrir a minha mente para a utilização deste recurso). 1- Em primeiro lugar, corra o Flash e pressione as teclas Command N (Mac) ou Ctrl N (Windows), para criar um novo filme no Flash e poder começar a trabalhar. 2- Pressione a tecla T no teclado, para activar a ferramenta de textos. De seguida, vá à janela de propriedades (veja a figura seguinte) e ajuste o primeiro campo para DYNAMIC TEXT (texto dinâmico) e, na terceira linha, o primeiro campo para Multiline:
Explicação: Dynamic Text - Porque será um texto dinâmico (texto de um ficheiro externo). Multiline - Porque o texto terá varias linhas. Se tivesse uma única linha poderia ser Single line.
NOTA: Se a janela de propriedades (Properties) não estiver visível, vá ao menu Window e certifique-se de que Properties está activo.
3- Agora que já configurou a ferramenta texto, clique na área de trabalho e, com o botão pressionado, arraste a ferramenta para o lado oposto, de forma a desenhar um rectângulo, como mostramos na figura seguinte:
4- Depois de criar a caixa de texto, vá à janela de propriedades e mude o campo Var (variável) para teste. Esta operação dará um nome à caixa de textos, a ser usado, posteriormente, para manipular o seu conteúdo. Veja a figura seguinte:
5- Agora terá que criar o seu ficheiro TXT. No caso, gravei o ficheiro com o nome de tutorial.txt. Na figura a seguinte, mostro de que forma o texto ficou.
NOTAS:
- Ao criar o seu texto, deve colocar, no início, o nome da variável de textos do seu filme, no nosso caso, teste, seguida do sinal de igual, ou seja, "teste=", conforme indicado na figura anterior;
- Poderá usar códigos HTML. Entretanto, deverá estar ciente de que nem todo tag HTML funciona no Flash;
6- Depois disso, grave o ficheiro TXT no mesmo directório em que vai gravar ficheiro do filme (SWF) e volte ao Flash;7- Và ao Timeline (linha do tempo), clique no frame em que encontra-se a caixa de textos e, na janela Actions, digite o seguinte texto:
loadVariablesNum("tutorial.txt",0);
NOTAS:
- Se a janela Actions não estiver visível, vá ao menu Window e certifique-se de que a opção Actions está activa;
- Poderá carregar textos de sites, de qualquer endereço, bastando que troque "tutorial.txt" pela URL onde texto está localizado, como, por exemplo, http://efeitosvisuais.com/meu_texto.txt
7- Pronto! Basta ir agora ao menu Control e escolher Test Movie, para ver o resultado. Caso tenha alguma dúvida, clique aqui para fazer o download deste projecto.
Este tutorial foi-nos gentilmente enviado por Cleibson Almeida, um dos nossos estimados visitantes.
NOTA IMPORTANTE: Ao utilizar o procedimento loadVariablesNum com a opção 0, está a indicar para o Flash que deseja carregar o texto no nível hierárquico zero, ou seja, no "root", que corresponde ao filme principal. Logo, se estiver a usar esta opção dentro de um movieclip, verá que o texto não é carregado (pois o movieclip não é mais "nível 0"). Para resolver essa questão, use o comando loadVariables, conforme a seguinte sintaxe:
XXX.loadVariables("tutorial.txt);
deverá substituir XXX pelo nome do movieclip.
Tweetar |
Se gostou desse artigo... | |
:: |
receba as novidades deste site por e-mail! |
Dê a sua opinião sobre este artigo
38 Opiniões
-
Anonymous on
Outubro 31, 200623:23
oi, antes de mais nada devo parabenizar pelo ótimo trabalho. meu e-mail é saul.magnum#hotmail.com (trocar o # pelo @). é q adorei esse tutorial de importação de texto (como carregar textos de um ficheiro txt), mas quando fiz alguns caracteres como o á (a c/ acento) q é tão utilizado, não apareceu, ficou um quadrado no lugar! isso com a fonte da caixa de texto do flash estando em arial. gostaria de saber se é normal isso (não posso usar caracteres acentuados) ou se foi algum erro meu! agradecido!!
-
Gestor on
Novembro 1, 20061:29
É preciso ver em qual codificação de caracteres o ficheiro foi gravado. Quando um ficheiro é gravado num sistema operativo, ele pode ser gravado em um de centenas de diferentes codificações como, por exemplo, UTF-8, UTF-16, ISO 8859-1, ANSI, etc. Essas codificações determinam como os caracteres especiais (acentos, por exemplo), são codificados. O Windows, normalmente, usa um formato chamado "Windows Latin 1". Por outro lado, os sistemas Unix e Linux podem usar formatos diferentes. As vezes isso pode ocorrer com uma página de web feita num Windows e vista num Mac. Portanto, descubra qual formato está a gravar esse texto e de que forma o seu computador está configurado (linguagem, etc.). Parece ser um problema desse género.
-
Anonymous on
Novembro 3, 200612:43
Muito bom ! só uma duvida usando esse metodo poderia fazer com que um texto grande pude-se continuar em outro local ? Não sei se falando assim dará para entender. Eu tenho um livro em flash que com o mouse vai virando as paginas e gostaria de colocar nas paginas deste livro o texto - so que esse texto é grande e quero colocar em varias paginas - tem como fazer isso ? Posso mandar o arquivo .fla do livro caso precise ver. Rogerio - meu email: comunidadesf@yahoo.com.br Obrigado.
-
Gestor on
Novembro 3, 200615:27
Se colocar um texto grande, aparecerá uma barra de scroll, que permitirá ver todo o texto, assim como a barra de scroll do browser que está a utilzar para ver esta página, permite deslocar, verticalmente, pelo conteúdo.
-
Anonymous on
Novembro 27, 200622:12
Olá primeiramente gostaria de dizer q gostei muito do tutorial, mas tenho uma dúvida eu tô tentando desenvolver um cd multimidia e vai ter varios textos q por sinais são muito grandes cada um coisa de 4 a 5 páginas do word com fonte arial tamanho 10 ai eu queria saber se há limite de texto pra esse exemplo? E outra coisa q queria saber é se poderei inserir imagens tbm? se sim como é possivel fazer isso? Pq um texto muito grande sem imagem nenhuma fica muito cansativo. Agradeço desde já!
-
Gestor on
Novembro 28, 200611:41
Obviamente, tudo em informática tem um limite. Provavelmente, o limite desse scroll terá relação com o tamanho da variável utilizada para guardar o texto ou da caixa de textos em si. Entretanto, o limite deve ser tão grande que, em 99% dos casos, o utilizador nunca o atingirá. A melhor maneira de fazer esse scroll funcionar com formatação de textos e imagens é criar o texto como sendo uma página HTML e depois ligar a opção RENDER AS HTML da caixa de textos. Assim poderá usar textos com cor e imagens.
-
Anonymous on
Janeiro 3, 20075:54
Olá! Quero parabenizá-lo pela iniciatia. Obrigada, mas estou com uma dúvida. Por favor como faço para que o texto aceite caracteres de acentuação. e a formatação de justificado. Mais uma vez obrigada. Eveli
-
Carlos Augusto on
Janeiro 18, 20075:59
Muito bom, bem explicado estão de parabéns Carlos
-
Thiago on
Fevereiro 6, 200714:25
Olá! Parabéns pelo site, muito bom e útil! eu também tive problema com a acentuação de palavras. Os caracteres especiais todos aparecem na visualização do Flash como um quadrado. Estou fazendo e abrindo a página no mesmo sistema operacional (winXP) e o bloco de notas está usando o script Europeu Ocidental. Não consegui identificar o problema que ocorre. Se puder me ajudar, agradeço! abraços
-
aldo on
Fevereiro 15, 200720:18
A capacidade de ensinar não é para muitos, na verdade é uma raridade, parabéns pela iniciativa. Na minha página do orkut " aldo florencio" tem uma comunidade simples que fiz "PHOTOCHOPPERIA" deixei uns tópicos sobre "scanner de mesa" vale a pena conferir! "O IMPORTANTANTE NÃO É O CONHECIMENTO QUE TENS, MAS SIM O QUE FAZ DELE"
-
bruna on
Maio 11, 200718:33
Giro!
-
EXTREMA on
Maio 25, 20072:40
Muito bom ! Parabéns, óptimo trabalho!
-
bruno on
Junho 24, 200723:20
Fiz o tutorial e foi tudo bem, até chegar o passo onde o texto deve ser carregado. Ao fazê-lo, todas as letras com acento apresentaram problemas. Não sei se isto tem relação ao facto de estar a utilizar um Mac. Existe algum truque pra fazer o efeito funcionar em letras acentuadas? Obrigado.
-
Harbartt Rodrigues de Souza on
Julho 18, 200717:56
Muito bom este artigo! Era exactamente o que eu procurava. Muito obrigado pelo tutorial. Vocês são óptimos!
-
pri on
Agosto 8, 200719:01
muito bom!!!!!
-
Maria João on
Agosto 25, 200711:09
Por favor, preciso de esclarecer uma dúvida. Eu segui estes passos para criar uma caixa dinamic text. O que acontece é que o texto é grande e só aparece uma parte do txt que criei. Como poderei fazer para que apareça todo o texto? Imagine um curriculum que aparece numa caixa de texto em flash, o text vai desde o ano 2007 até ao ano de 1968, e quando o carrego no flash só aparece até 1980. Pode ajudar-me? Obrigada
-
Gestor on
Agosto 25, 200718:42
Se o tutorial for feito como indicado, não deverá ter problemas para fazer os textos aparecerem, já que não foi imposto nenhum limite para a quantidade de caracteres... a menos que extrapole a quantidade máxima de caracteres suportada pela variável, que é de 65.536 caracteres, o que penso não ser o caso.
-
marcus prado on
Setembro 11, 20073:27
Porque quando eu coloco um acento ele não reconhece, mesmo sendo uma fonte comum como Arial?
-
Renato on
Outubro 29, 200721:57
obrigado por esclarecerem as duvidas aqui postadas...mas a respeito de imagens no texto...não consigo coloca-las. Entretanto sou um iniciante em flash....mas gostaria de algum tio de tutorial de como por as imagens na caixa de texto dinamica. Obrigado
-
José Carlos Moreira de França on
Novembro 25, 200715:06
Adorei este tutorial, no entanto estou com um problema para finalizar o meu. O problema é que quando rodo o filme as acentuações do meu arquivo.txt não aparencem. O que faço?
-
magno.urbano on
Novembro 25, 200719:29
A melhor hipótese é usar o GIMP ("clone" gratuito do Photoshop). No nosso menu lateral vai encontrar um link para um manual grátis que ensina a usar este programa. O programa poderá ser conseguido em gimp.org.
-
Jacque on
Novembro 30, 200722:10
Não consegui fazer funcionar no Flash CS. É preciso transformar num botão?!
-
Raquel on
Janeiro 24, 200815:20
Na verdade é uma dúvida!!! Me perdi na fase 6 "6- Depois disso, grave o ficheiro TXT no mesmo directório em que vai gravar ficheiro do filme (SWF) e volte ao Flash" Onde fica esse diretório???
-
salety on
Janeiro 24, 200821:36
Oi!Adorei o tutorial, é justamente o que eu preciso, mas acontece que eu fiz tudo certo, apenas não coloquei botões scroll porque meu texto não é grande. Será que não está funcionando por isso? Agradecerei se me ajudarem! ;)) Se quiserem posso mandar a pasta com os arquivos: flash e txt.
-
Salety on
Janeiro 24, 200822:01
Muito bom! Eu fiz e deu certinho! Tutorial bem feito, de bom entendimento.
-
magno.urbano on
Janeiro 25, 20080:40
RAQUEL, o que eu quero dizer é: coloque o TXT no mesmo local onde colocar o SWF. JACQUE: o tutorial é o mesmo para qualquer versão de Flash, mesmo para o Flash CS3, que apesar de ter mudado a filosofia do ActionScript ainda é compatível com as versões anteriores.
-
joao on
Fevereiro 9, 200813:12
Ola Adorei o tutorial, esta de parabens o conteudo da pagina ta mto bom! Fiz o tutorial e estou com algumas duvidas... Funciona perfeito em Action Script 2.0, mas estou desenvolvendo uma página com o script 3.0 e ele nao permite colocar um nome na Var, entao como eu faria pra identificar de qual ficheiro ira puxar o texto? Outra problema, sera que existe algum tipo de codificacao de caracteres que tanto um pc mac, win, ou linux consiga ler COM os caracteres especiais como acento?
-
Daniele on
Março 10, 200815:20
Quem teve problemas com caracteres é só prestar atenção na hora de salvar pelo bloco de notas, escolher a opção SAVE AS (gravar como), aí vai ter a opção CODIFICAÇÃO, comigo deu certo ao alterar para UTF-8. Óptimo tutorial!!!
-
alex on
Setembro 3, 200819:46
Gostei muito do Tópico.. Gostarei se possivel de uma ajuda... Preciso que esta variável que recebe o texto, leia diferentes textos (um a um) em um único arquivo de texto. Ou seja, no decorrer da timeline, os diferentes textos apareçam no meu flash. Desde já Agradeço.
-
André on
Maio 1, 200913:59
Parabéns Magno, bom seria se todos postassem tutoriais simples e úteis assim como o seu. Que Deus abençoe
-
Magno Urbano on
Maio 1, 200917:10
Obrigado André.
-
André on
Maio 1, 200917:19
Parabéns pelo artigo.
-
Alex on
Janeiro 25, 201013:04
Olá! funcionou direitinho se eu tiver na timeline principal, mas se eu precisar fazer isso dentro de um movie clip o texto não aparece mais...como devo fazer?
-
Magno Urbano on
Janeiro 25, 201014:28
adicionei uma nota ao texto para explicar porque isso acontece e como resolver a questão...
-
Rodolpho on
Outubro 8, 201023:53
Bom .. eu tenho um codigo parecido com esse, mado exibir em "dynamic text" mas kero imprimir o que aparece na caixa .. como faço ?? desde já agradeço a atenção !
-
Mauricio on
Outubro 30, 201021:39
Não deu certo no meu ....fiz errado alguma coisa. Me ajude. Quero fazer uma barra de rolagem com um texto dentro. Sou novato na área. Desde já agradeço mauricio.s.trindade@hotmail.com ou mauriciotrindadeap@hotmail.com
-
Fabiano on
Abril 4, 201111:02
Quase isso. Só que, da maneira como está o tutorial, os textos que possuem acentos sairão truncados. O ideal, é que seja usado o seguinte AS: loadVariablesNum("tutorial.txt",0); System.useCodepage=true;
-
Fábio on
Maio 17, 201113:15
Eu tentei fazer no AS3 do jeito acima descrito mas a maneira que consegui ler o arquivo foi esta. import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; var lertxt:URLRequest = new URLRequest("arquivo.txt"); var loader:URLLoader = new URLLoader(); loader.load(lertxt); loader.addEventListener(Event.COMPLETE, _txt); function _txt(e:Event): void{ trace(e.target.data); }