LUIZ AVANCI (51 pts)

ILVA RUDEV (90 pts)

ZECA BALA (45 pts)

NETO LEAL (116 pts)

MARLOS ALVES CARMO (90 pts)

AMAURY BENTES (123 pts)

EDUARDO PERROUD (52 pts)

GUILHERME G.G. (137 pts)

LEANDRO AMANO (83 pts)

JOTA LAGO (40 pts)

FÁBIO DUARTE (79 pts)

DEMIS BUCCI (50 pts)
Treinamento PontoFlash de Flash e ActionScript

Preciso de um script para ver quantos usuários estão online.

Quero um movieclip arrastado que ao se deparar com umas linhas, não consiga atravessar.

Como impedir que se desligue o fullscreen com a tecla ESC?

É possível criar uma variável de outra variável?

Tem como eu checar a digitação em um campo de texto e disparar um evento?

Não consigo usar fontes PIXEL no Flash. Transformo ela em imagem?

Já foi pedido na lista como detectar o plug-in do Flash no cliente e redirecionar a página, até o momento eu só conhecia o código para Nestcape, segue o código geral.

Queria aprender a usar loops (While ou o For) em actioscript.

Existe algum limite para se usar o with em um botão para controlar vários movie clips ao mesmo tempo?

Como criar movieclips dinamicamente com uma escala e um alpha no mouseOver?

Como posso rotacionar algum objeto?

Quero fazer um objeto ficar ir alterando sua propriedade '_alpha' o tempo todo.

Alguém sabe como usar o swapDepths?

Função chamada createFunctionCall, que permite criar uma função para executar uma outra função com certos parâmetros.
GetMySQLData para Flash5 (segunda parte)

Como eliminar vozes de um arquivo Wav.

Conceitos de Design - Apresentação.

Mouse trail.

Atenuação (easing).

Sub-Menus entre frames, com o Dreamweaver

ListBox no FlashMX.

Objeto array - Arrays X Objetos

Line Draw

Programando objetos 3D em Plataformas 2D como a do Flash

Gradiente variável

Primeiros passos - Camadas e outras coisas
Random

Bspline3

Botão vai e volta

Type 1

Texto esticado

Coordenadas

Menu aberto

Texturedtriangle

Menu abre pasta

Menu móvel

XML menu

Motionguidemask1
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