JONAS GALVEZ (521 pts)

AUTOR DESCONHECIDO (100 pts)

SASHA GUDEY (235 pts)

IRAPUAN MARTINEZ (45 pts)

DAAFY (55 pts)

RICARDO TEIXEIRA (40 pts)

GUILHERME SCHEIBE (49 pts)

LEANDRO AMANO (83 pts)

BÁRBARA TOSTES (64 pts)

GÉRIO (93 pts)

GUILHERME G.G. (137 pts)

LUIZ AVANCI (51 pts)
Treinamento PontoFlash de Flash e ActionScript

Como faço para selecionar um determinada letra de uma string?

Função de um movie clip.

Alguém pode me indicar algum programa para converter MIDI em WAVE?

Como fazer uma arma móvel atirar um projétil verticalmente?

Como faço para colocar um Botão de liga / desliga som?

Como fazer um load individual para cada frame de meu filme?

Não entendo como funciona os formulário em ASP.

Importei um MOV pro flash, só que quando testo, o vídeo não começa.

Não estou conseguindo fazer uma animação para if frame is loaded.

É necessário criar um objeto para usar o prototype?

Eu estou usando para toolTip um código simples usando o método createTextField.

Eu preciso colocar um fadeout em um som em loop, na terceira vez que ele tocar.

Como fazer um menu que segue o mouse com easing como o do site do cantao.com.br?

Queria declarar valores para uma variável importada de um arquivo TXT.
Alterar a parência dos componentes do FlashMX.

Clipes Inteligentes (SmartClip).

Menu circular em 3D personalizável

Níveis dentro do Flash - Load Movie e Load Variables (primeira parte)

Parâmetro - Get camera().

Sub-Menus entre frames, com o Dreamweaver

Jpeg, Gif, texto, gradientes X slices no Fireworks

Sistema de busca utilizando Flash + ASP .

Enviando EMAIL com ASP, COLDFUSION E PHP

Busca em Textos no Flash MX

Sala de bate papo (chat) , com Flash+PHP

Imagens transparentes usando PhotoShop, Fireworks e Flash.
Sashacircle 1

Texto matrix

XML menu

Coordinate cube

Motion color

Passagens

Hipotenusa

Rolltext com mask

Botão liga/desliga

Mouse seleciona link

3dsnake

Pintar
HOME | TRUQUES E DICAS
Os arquivos do Flash vão para o cache do browser?
por Rodrigo Reis

O arquivo.swf fica armazenado na memória do computador, o difícil é saber como fazer para que não fique, pois muitas vezes alteramos o arquivo (página), mas o usuário final continua vendo a página antiga pois ela já está na memória do computador.

***********************************************

Cara esse seu swf principal sera aberto no level0 via load movie por um outro swf q estara inserido no html sacou? Dessa forma, TODOS os seus swfs incluindo o principal são carregados via load movie... (só q o principal é carregado a partir de um swf vazio que contém o load movie para o level0 no 1º frame... e os demais swf serão carregados a partir do seu swf principal normalmente...)

Para ficar mais fácil de você entender eu vou dar um exemplo:

digamos que atualmente vc tem um arquivo index.htm q contem um arquivo chamado principal.swf a partir do qual são carregados outros swfs de acordo com os bts clicados. Dessa forma o seu arquivo principal.swf iria para o cache e vc poderia ter problemas quando fizesse atualizações.

Solução: ao invés do seu arquivo index.htm conter diretamente o arquivo principal.swf, ele conterá um outro arquivo (vazio.swf) q chamará o arquivo principal.swf para o level0. dessa forma, o arquivo principal.swf NÃO estará no index.htm no entanto, ao ser carregado no level0 do vazio.swf, automaticamente substituirá o o outro arquivo (vazio.swf) e o único arquivo q irá para o cache é o vazio.swf.

************************************************

Só experimentei este problema de falta de atualização de SWF nos provedores com servidores PROXY. Testei por várias vezes a atualização (em vários momentos do dia e em vários dias, no UOL e no TERRA) e só por algumas vezes (com o PROXY) é que este problema surgia.

Na maioria das vezes o browser carregava a versão atualizada do SWF (sem ter que limpar o cache e utilizando o IE e Navigator e tanto no flash 4 quanto no flash 5 e utilizando SWFs externos e carregamento de variáveis). Resumindo: este problema foi detectado praticamente só em provedores com servidores PROXY, em nada afetando meus sites (o www.hotelalpina.com.br e o www.emidiastudios.com.br).

***********************************************

Uma nota sobre load variable:

Ele é extremamente prático para que a animação receba conteúdo a partir de uma fonte externa. E esta fonte, um arquivo ASCII, pode ser facilmente editada via um script (PHP, ASP, Perl, etc) ou até mesmo manualmente. A action, como todos conhecem, é:

loadVariablesNum (megatron.txt, 0);

Onde MEGATRON.TXT é um arquivo ASCII presente no mesmo diretório que o .SWF e o 0 (zero) é para apontar o carregamento das variáveis dentro da timeline do _level0.

O problema é o caching deste arquivo ASCII. Toda vez que utilizamos o Load Variable, o arquivo para onde é apontado é trazido para o diretório cache do navegador e a partir de um segundo acesso em diante, o plug in consulta o arquivo no cache, e não o arquivo no servidor.

O lado positivo é que acessar o cache é muito mais rápido que acessar um servidor remoto. O lado negativo: Se o arquivo no servidor sofrer alteração, será exibido a sua cópia desatualizada que está no cache.

Como prevenir então o cacheamento? O HTML provê meta tags para se evite o cacheamento destas informações, sempre obrigando o navegador a buscar a cópia atual no servidor.

Só que estas tags não se extendem até os arquivos anexados aos HTMLs, tal como imagens e SWFs. O que dizer então dos arquivos ASCII que nem são chamadas do HTML, mas chamadas de dentro do .SWF? Isto mesmo, as meta tags NO-CACHE ou EXPIRE não surtem efeito.

O mecanismo de cache dos navegadores são simples de se entender: Ao acessar um arquivo pela primeira vez, este é copiado para o diretório cache. Ao acessar segunda vez, salvo uma meta tag sugerir a busca no servidor, é exibido o que se está no cache. O usuário pode limpar o cache para evitar este tipo de coisa. Mas os pontos negativos disto são:

1) O desenvolver não tem como controlar, tem que esperar a boa vontade do usuário fazer uma intervenção manual, sendo que este talvez desconheça esta função no navegador.

2) Servidor proxy, que teriam como uma das suas funções um cache coletivo para atender uma determinada rede, e o cache só é esvaziado através da intervenção manual do gerente da rede.

Como burlar o cache? Simples, é só fazer o navegador pensar que está acessando um arquivo diferente a cada vez. Como ele estará acessando sempre pela primeira vez, o cache não será acionado. Então, toda vez que desejar apontar para um load variable, use este script:

loadVariablesNum (megatron.txt? + random(10000), 0);

Onde MAGATRON.TXT é o arquivo ASCII que contém as variáveis.

A action acima é na verdade uma operação de concatenação, que faz com que o plug in solicite o arquivo com esta notação:

http://www.beastwars.com/megatron.txt?5283

Onde a URL seria supostamente onde se encontra o .SWF mais o TXT e o 5283 é um dos resultado possíveis da randomização do número 10000.

Como funciona? O sufixo ?valor é aceitável no protocolo HTTP para repassar algum tipo de valor para o destino, para tipicamente resultar num documento gerado dinamicamente, por exemplo, uma busca. O segredo então é fazer com que este ?valor seja diferente em cada acesso. Por isso usar uma randomização de um número tão grande: Para garantir que a cada acesso, force o plug in consultar um valor diferente.

Resumindo: O plug in entende que a URL MEGATRON.TXT?5283 é completamente distinta da MEGATRON.TXT?23 ou da MEGATRON.TXT?99999. Só que para nós, que controla o conteúdo dentro do arquivo, este número randomizado não interfere no processo, apenas força um novo acesso todas as vezes.

Mas e se o mecanismo de randomização gerar duas vezes o mesmo número? Então será acessado o conteúdo dentro do cache. Por isso é recomendável a randomização de um número tão alto: Para minimizar as chances de gerar números iguais. Uma variação interessante do mecanismo seria:

loadVariablesNum (megatron.txt? + getTimer(), 0);

Assim, o número variaria a cada milésimo de segundo, o que evitaria por ventura a repetição por causa da randomização. O que sabotaria este script seria o usuário coincidentemente acionar o Load Variable no mesmíssimo milésimo de sua última visita ao site. Se ele conseguir esta proeza, aplique um link direto para uma agência lotérica, por que o usuário está num dia favorável para acertar coisas impossíveis.

Observações:

1) Os action scripts sugeridos para prevenir o cacheamento fazem o load variable para de funcionar localmente. Apenas dentro de um servidor web é que eles serão ativados.

2) As meta tags sugeridas são apenas exemplos. Cada navegador tem reações particulares ao lidar com estas tags, bem como dispões de outras maneiras de lidarem com o cacheamento de informações.

3) Não foi levado em consideração scripts que lipam o cache de um determinado site, já que estas funções não se encontram disponíveis em todos as versões de browsers que tem o plug in Flash disponível.

4) Os action scripts sugeridos podem ser adaptados para serem usados no Flash 4. Basta trocar o + por &.

Irapuan Martinez

*********************************************

A solução para quando se precisa carregar informações de TXTs que necessitam de atualizações constantes, ou se você está de saco cheio de que toda vez que manda seu SWF precisa mandar com um nome diferente tipo ROD.SWF , AI DEPOIS ROD1,SWF ROD2.SWF,, ROD2324234.SWF e por ai vai, é a utilização do Macromedia Generator, disponível para compra no site da Macromedia, o qual ajudará muito no caso de atualizações em sites em flash.

Quando o usuário entra uma vez este swf juntamente com todas as imagens, sons, txts, e outros, já ficarão no CACHE do USER, e quando ele retornar ao seu site que ja foi atualizado, o html chamará um arquivo swf o qual estará no cache da pessoa, sendo assim seu site não será visto atualizado, e sim a versão antiga, isso no caso da pessoa que nunca limpa seu cache, ou outros motivos.

Com o seu uso podemos utilizar o seguinte sistema. Criamos um html normal lógico, e chamamos lógico um SWF, tal SWF não conterá nada a não ser um INSERT FLASH MOVIE (comando generator similar ao loadMovieNum(asas.swf.1). E este teu swf que será chamado é que possuirá realmente seu site, ou sua animação ou outros, porque aí o caminho de conexão com seu site é modificado.

O HTML é chamado, que chama o SWF com um OBJECT GENERATOR INSERT FLASH MOVIE (e este arquivo estando ou n!ao no cache do user), conecta se com o SERVER e pede para o arquivo SWT o arquivo SWF de seu site.

Lembrando que algumas táticas para evitar o cache, podem dar grandes dores de cabeca, mas o resultado final, será sempre promissor, estou terminando um projeto, para uma INTRANET e que logo rodará numa extranet, o qual poderia ser feito com ASP, PHP. E um banco access ou oracle, mas feito o pedido em flash, estou executando - o em flash, sendo aproximadamente, 300 swf, 300 txts, 600 imagens, 10 sons, muita organização, calma, e um pouco de dor de cabeça.

Estou utilizando o generator ate o presente momento ainda não tive barreiras, está indo tudo muito bem, será super fácil atualizar 600 txts com uma interface de administrador criada em ASP , que estará modificando os txts, não acontecendo assim tão cedo a modificação de um arquivo SWF, pois tudo é dinâmico.

Rodrigo Reis


3 comentários


Comentário de sidnei
| 27/12/2010 - 20:25 |
http://www.dipauladesign.com.br/index.html

ola gostei estou começando nessa area muito inteligente Parabens estava procurando a dias mas a sua dica é sem sombra de duvidas a melhor que achei meu parabens!!!



Comentário de Roberto
| 20/12/2010 - 02:51 |
http://www.rokaonline.com.br

Parabens cara .. maravilhoso!!!! me salvou de uma q vc não faz idéia. Obrigado!



Comentário de tj
| 6/10/2010 - 22:38 |


Muito interessante sua ideia, não testei pra confirmar que funciona, talvez exista uma maneira melhor de fazer isso mas a sua ideia foi muito inteligente.