NILTON BICALHO (61 pts)

MARCOS JOSÉ PINTO (44 pts)

ILVA RUDEV (90 pts)

MARCELO SIQUEIRA (96 pts)

MUZAK (45 pts)

LUIZ AVANCI (51 pts)

ALEXANDRE PORTO (1281 pts)

SASHA GUDEY (235 pts)

KEN AWAMURA (130 pts)

IRAPUAN MARTINEZ (45 pts)

AUTOR DESCONHECIDO (100 pts)

AMAURY BENTES (123 pts)
Treinamento PontoFlash de Flash e ActionScript

Como arrastar um swf com uma foto, aberto com load movie?

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

Há como inserir um som midi numa apresentação flash?

Como retornar apenas duas casas decimais de um valor?

Rodar movieclip invisível.

Como fazer um movieclip carregar com um efeito elástico?

Como fazer um duplicateMovieclip em um movieclip quando solto em uma determinada área?

Como tirar o menu do FlasPlayer que se abre quando se clica com o botão direito do mouse?

Preciso formatar valores numéricos em moedas, com dois caracteres depois da vírgula.

Quero um cursor customizado apenas numa área específica.

Comentários do o script do “desenho livre” (sources/actionscript)?

Novos recursos para o objeto Sound do FlashMX.

Preciso que um botão só possa ser clicado depois que os outros 3 já tenham sido clicados.

Preciso desenhar um coração no flash.
Avaliação do site de O Boticário

Dicas para otimizar seu SWF (revisado e atualizado).

Betinhocarreiro e Dysney.

Parâmetro - Get microphone().

Usando Flash e ASP para contruir um formulário.

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

Janelas tipo Windows com Swap Depth

Comunicação Flash-PHp-MySql - Editar banco de dados

Sistema de busca utilizando Flash + ASP.

Flash no Espaço Geográfico

Tratamento de um bitmap PNG com o PhotoShop.

XMLSockets
Code Elastic

Digitalclock

Ligth Balls

Dincurtrail

Colisao e swap

Roll Image

Barneys menu

Combobox com interação em ASP

Letters

Swirl2

Espiral

MovieClip.onCollision
HOME | TUTORIAIS
Funções SetInterval e clearInterval no FlashMX.
por Jonas Galvez

O Flash MX trouxe duas novas funções muito interessantes, setInterval e clearInterval, que já são presentes no JavaScript e não deverão surpreender muito aqueles que já conhecem a linguagem. A função setInterval permite executar uma função periodicamente dentro de um intervalo de tempo definido. Esta função retorna uma identificação, que posteriormente pode ser utilizada para cancelar a execução através da função clearInterval. Segue abaixo as opções de sintaxe destes métodos.

setInterval(funcao, milissegundos);
setInterval(objeto, "metodo", milissegundos);

var id = setInterval(funcao, milissegundos);
var id = setInterval(objeto, "metodo", milissegundos);
clearInterval(id);

 
  A função setInterval pode ser chamada de duas maneiras. A primeira forma consiste em dois parâmetros, o nome da função que será executada e o intervalo de tempo em milissegundos. A segunda forma permite executar não uma simples função mas sim um método de um objeto. Para isso, é preciso passar três parâmetros para a função, sendo que o primeiro é o nome do objeto onde o método reside, o segundo é o nome do método entre aspas (o nome do método deve ser passado como uma string) e o terceiro é intervalo de tempo em milissegundos. Para sua melhor compreensão, veja o exemplo abaixo e tente entender e testar seu funcionamento.

function minuto() { trace("Um minuto se passou!"); };
setInterval(minuto, 60000);


   O exemplo de script acima é bastante óbvio: definimos uma função que será executada a cada 60 segundos. Este ainda é um uso bastante simples da função setInterval. Durante minhas pesquisas com o Flash MX, encontrei um problema que muitos já devem ter percebido. Não é possível utilizar o evento onEnterFrame de movieclips em outros objetos (em outras palavras, a classe MovieClip não tem os método addListener e removeListener). Para contornar este problema, resolvi utilizar a função setInterval com um intervalo de tempo bastante próximo ao do frame rate do filme, para que o resultado fosse o mesmo. O script ao qual me refiro é o de métodos adicionais para a classe TextField que permitem fazer a rolagem contínua de texto. Considero estes métodos apenas um experimento, considerando que seu uso não é mais necessário já que o Flash MX inclui um componente especial para rolagem de texto.

TextField.prototype.startScrollUp = function() {
this._scrollUp = function() { this.scroll--; };
this.upInterval = setInterval(this, "_scrollUp", 100);
};
TextField.prototype.startScrollDown = function() {
this._scrollDown = function() { this.scroll++; };
this.downInterval = setInterval(this, "_scrollDown", 100);
};
TextField.prototype.stopScroll = function() {
clearInterval(this.upInterval);
clearInterval(this.downInterval);
};


   O exemplo acima já pode ser considerado bem mais avançado, mas se você analisar bem, verá que não é tão complicado assim. O método startScrollUp define um método interno chamado _scrollUp, que simplesmente decrementa o valor da propriedade scroll do campo de texto. Depois, a função setInterval é utilizada para determinar que o método _scrollUp deverá ser executado a cada 100 milissegundos, e um identificador (upInterval) é definido para esta chamada da função setInterval. O mesmo processo é utilizado no método startScrollDown, só que ao invés de ser decrementada, a propriedade scroll do campo de texto é incrementada. No método stopScroll, a execução dos métodos internos _scrollDown e _scrollUp é cancelada através da função clearInterval.

   Agora você já viu a utilidade destas funções em métodos internos, a partir de um exemplo bastante simples. Agora irei comentar mais um exemplo de uso destas funções, que pode ser bastante útil. Umas das perguntas mais comuns nas listas e nos fóruns é sobre como fazer que o filme pare por um determinado número de segundos depois continue a reproduzir. Pensando nisso, resolvi criar uma classe chamada Countdown, que executa um método após uma contagem regressiva com os segundos definidos. Veja abaixo o código da classe.

_global.Countdown = function(segundos) {
this._handler = function() {
this.onFinishCountdown();
clearInterval(this._id);
};
this._id = setInterval(this, "_handler", segundos*1000);
};

   Neste script, utilizo a palavra-chave _global antes do nome da classe para torná-la acessível globalmente, ou seja, uma instância desta classe poderá ser criada em qualquer lugar do filme, assim como todas as outras classes do Flash MX. O uso do setInterval é intrigante, pois o método _handler só deverá ser chamado uma única vez, após que contagem regressiva termine. Para isso, já chamo o método clearInterval dentro da própria função, o que anula a execução. Segue abaixo um exemplo de uso da classe Countdown.

// contagem regressiva de dez segundos
var contagem = new Countdown(10);
// event handler que será executado quando
// a contagem terminar
contagem.onFinishCountdown = function() {
// código que deverá ser executado
};


   Para finalizar este artigo, irei passar um recurso da função setInterval que ainda não comentei. É possível passar parâmetros para a função (ou método) que será executada, definindo-os como parâmetros adicionais na própria chamada da função setInterval. Para que fique mais claro, analise o exemplo abaixo.

function minuto(nome) {
trace(nome + ", um minuto se passou!");
};
setInterval(minuto, 60000, "Jonas");

   O terceiro parâmetro definido na função setInterval será passado para a função que será executada. Na verdade, será difícil encontrar uma oportunidade de usar este recurso, mas em alguns casos pode ser realmente útil.



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário