LEANDRO AMANO (83 pts)

ILVA RUDEV (90 pts)

PEDRO CLAUDIO (50 pts)

JONAS GALVEZ (521 pts)

KEN AWAMURA (130 pts)

RICARDO TAKAHASHI (180 pts)

MARLOS ALVES CARMO (90 pts)

ÉMERSON ROCHA (85 pts)

GUILHERME G.G. (137 pts)

SASHA GUDEY (235 pts)

LUI FERNANDO (151 pts)

GÉRIO (93 pts)
Treinamento PontoFlash de Flash e ActionScript

O que são esses arquivos na pasta Flash5/Player do windows Explorer?

Como tornar um objeto com alpha zero quando eu clicar em um dos outros itens?

Como identificar no flash se uma música já foi tocada e então chamar uma função?

Como eu faço para editar gradientes pré definidos?

Como enviar e receber variáveis do flash para o PHP utilizando LoadVars?

Existe algum modo de definir quais variáveis vão ser enviadas pelo POST do flash?

Como colcar no flash um botão que tenha a função voltar do navegador?

Como mudar a cor do mouse over de 23 botões, por uma única actionscript?

É possível enviar variáveis de um movie clip para uma cena diferente?

Algumas dicas sobre Fontes.

Como fazer uma imagem de background no HTML não se repetir?

Softwares úteis para desenvolver junto ao flash:

Gostaria que vocês me dessem uma dica, quando usar e quando não usar o loading.

Como posicionar um movie clip carregado via attachMovie?
Vídeo no FlashMX.

Calendário dinâmico

Aplicação simultânea de Fio e Sombra a bitmaps - Fireworks

Sistema de newsletter utilizando Flash + ASP.

Atenuação (easing).

Flash Turbine (integração Flash com PHP ou ASP)

Comunicação Flash-PHp-MySql - introdução

Novas propriedade de botões no FireworksMX

Clipes Inteligentes (SmartClip).

A história do Flash.

Mouse trail.

Gravidade no Flash.
Line trail e random

Slide desk

Tabela periodica

Rotacao de banner

Menu móvel

Bspline3

Triangulos

Soundpan_f5

Digitação (6kb) - Flash4

Drag and zoom

Swirl

Move to point
HOME | TRUQUES E DICAS
EasyPreloader utilizando os recursos do FLEM.
por Jonas Galvez



Para os que já utilizaram o meu EasyPreloader (sources / preloader) e também para os que nem imaginam o que é isso, segue uma versão atualizada do código que havia criado há algum tempo atrás. Agora ele utiliza os recursos oferecidos pelo FLEM (explicarei o que é isso no final desta mensagem).

include "flem.as"

function Preloader() {
this.mcTotal = this.total = this.bytesLeft = 0;
this.loaded = this.percentage = 0;
this.timeline = new Array();
for(var i = 0; i < arguments.length; i++) {
this.mcTotal += arguments[i].getBytesTotal();
this.timeline[i] = arguments[i];
}
MovieClip.addFLEMListener(this);
}

Preloader.prototype.onEnterFrame = function() {
for(var j = 0; j < this.timeline.length; j++) {
this.total += this.timeline[j].getBytesTotal();
this.loaded += this.timeline[j].getBytesLoaded();
}
if(this.total != this.mcTotal) {
this.bytesLeft = this.total - this.loaded;
this.percentage = Math.round(this.loaded*100/this.total);
this.onPreloadUpdate();
}
if(this.percentage == 100) {
this.onPreloadComplete();
this.mcTotal = this.total = this.bytesLeft = 0;
MovieClip.removeFLEMListener(this);
}
}

Para quem acompanhou o progresso do desenvolvimento deste experimento, as mudanças estão claras. Agora, "this.timeline" será sempre apenas uma array, mesmo que o preloader seja apenas para um movieclip (graças à sugestão do Robert Penner). Isto evita ter que verificar se o tipo de "this.timeline" é um objeto ou não (como eu havia feito anteriormente). A mudança mais interessante foi a definição de alguns event handlers personalizados. Ao invés de definir uma função que deverá ser executada quando o preload acabar, eu criei o event onPreloadUpdate, que é chamado constantemente e o evento onPreloadComplete, que é chamado quando o preload acaba. A utilização destes eventos foi idéia do Branden Hall. Um exemplo de uso deste script segue abaixo.

// chama os arquivos externos
_root.mc1.loadMovie("mc1content.swf");
_root.mc2.loadMovie("mc1content.swf");

// define um novo preloader para os movieclips
var myPreloader = new Preloader(_root.mc1, _root.mc2);

// define a função para exibir os dados do preloader
myPreloader.onPreloadUpdate = function() {
_root.totalDisplay = this.total;
_root.loadedDisplay = this.loaded;
_root.bytesLeftDisplay = this.bytesLeft;
_root.mcBar._xscale = this.percentage;
}

// quando o preload acabar, faça o que deve ser feito
myPreloader.onPreloadComplete = function() {
_root.mc1.gotoAndStop(10);
_root.mc2.gotoAndStop(10);
}

Como sempre, eu não testei, mas tenho 99,9% de certeza que irá funcionar. De qualquer forma, quem encontrar um bug pode me enviar um e-mail e eu darei toda a atenção do mundo, ok? Bem, agora vamos ao FLEM. Estas quatro letrinhas significam Flash Event Model. Como o nome diz, é um Modelo de Eventos para o Flash, mas uma descrição melhor seria Técnica de Execução Dinâmica de Eventos no ActionScript. Deste jeito fica um pouco mais compreensível, mas acho que a melhor maneira de explicar é utilizando um exemplo prático. Se quiséssemos criar um cursor personalizado, normalmente teríamos que adicionar um script em um movieclip, como este que segue abaixo, certo?

onClipEvent(load) {
Mouse.hide();
}
onClipEvent(mouseMove) {
_x = _root._xmouse;
_y = _root._ymouse;
updateAfterEvent();
}

Mas ter que adicionar um script em um movieclip apenas para poder utilizar um evento (no caso, o mouseMove) é um tanto desagradável. Utilizando o FLEM, poderíamos executar um evento destes sem precisar de um movieclip, que tal? É evidente que neste caso do cursor de mouse um movieclip seria preciso, mas não precisaríamos executar o script a partir deste movieclip, e sim, talvez, em um simples frame da linha de tempo principal.

Mouse.hide();
_root.movieclipDoCursor.onMouseMove = function() {
_x = _root._xmouse;
_y = _root._ymouse;
updateAfterEvent();
}
MovieClip.addFLEMListener(_root.movieclipDoCursor);

Bem, acho que agora já deu para compreender. Mas o FLEM não faz isso através de mágica. É preciso ter um símbolo movieclip vinculado na Biblioteca do filme que será utilizado para executar os eventos, mas é melhor apenas um movieclip do que dez. E além disso, o movieclip é inserido no filme dinamicamente (através de attachMovie), o que faz do mal o menor. Quem quiser aprender mais sobre FLEM pode ler um excelente artigo do Robert Penner, que foi publicado no Ultrashock.

http://www.ultrashock.com/tutorials/flash5/flem_intro_tutorial.html

Jonas Galvez

0 comentário