LUI FERNANDO (151 pts)

MUZAK (45 pts)

LEANDRO AMANO (83 pts)

DAAFY (55 pts)

GÉRIO (93 pts)

STICKMAN (155 pts)

SÁVIO PONTE (39 pts)

RICARDO FIGUEIRA (33 pts)

SASHA GUDEY (235 pts)

BÁRBARA TOSTES (64 pts)

FÁBIO DUARTE (79 pts)

RODRIGO AMARAL (56 pts)
Treinamento PontoFlash de Flash e ActionScript

Como fazer uma timeline andar mais lenta que outra?

Quero saber mais sobre interação Flash X banco de dados (sql mysql etc).

Como faço o loading bem simples?

Como faço um site com esse Iframe?

Como faço para colocar efeito alpha em imagens gif, importadas para o flash?

Como abrir, com um arquivo mas redimensionado e posisionado em determinado local?

Problemas com redimensionamento e ponto de registro.

Quero desabilitar os botões do _level0 (nível zero).

Como mando um formulário sem usar banco de dados?

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

Como faço para carregar vários filmes ao mesmo tempo?

Preciso colocar uma variável PHP num campo de texto do Flash?

Queria fazer um botão redondo que surgem novas circunferências que vão sumindo.

Exemplo simples para entender o prototype.
Citroen, máscaras que simulam vídeo - Avaliação de sites

Detectando funções de browser usando ASP

Botões estilo Apple.com feito no PhotoShop

Action Script 2.0 (Primeira Parte)

Roof e Marciowebmaster - Avaliação de sites

Parâmetro - Get camera().

Jogo da Forca (segunda parte)

Tratamento de um bitmap PNG com o PhotoShop.

Novas propriedade de botões no FireworksMX

Login e senha

Alterando Artistic Media no Corel Draw.

Editor de banco de dados (PHP-MySql) orientado a Objetos (OOP)
campo de texto no Down

Tornado

Direção do mouse

Mouse tracks

F5menu popup

Balls 3f

Personagem animado

ComboBox com load movie

Raysoflight 2

Kick ball

Random block

Tangran
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