MUZAK (45 pts)

MARLOS ALVES CARMO (90 pts)

DAAFY (55 pts)

ÉMERSON ROCHA (85 pts)

DEMIS BUCCI (50 pts)

MARCELO SIQUEIRA (96 pts)

FÁBIO DUARTE (79 pts)

EDUARDO WALMOTT (226 pts)

MAURO ROCHA TAVARES (40 pts)

STICKMAN (155 pts)

ALEXANDRE PORTO (1281 pts)

EDUARDO CARREGA (150 pts)
Treinamento PontoFlash de Flash e ActionScript

Como criar um campo de texto dinamicamente pelo FlashMX?

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

Quero que quando terminar a animação de um movieclip, comece outro e assim sucessivamente.

Como importar frases de um TXT e mostrar uma randomicamente?

Como faço um objeto se movimentar pelo teclado? E esse objeto Key, como funciona?

Como fazer um botão no flash que instale um setup de programa?

Quero mudar uma ação de acordo com a hora do dia.

Preciso de uma action para retroceder ou reverter uma animação.

Como alterar a cor de um movieclip no mouseOver via actionscript?

Alguém tem um javascript redirecionador de páginas?

Como carregar um swf numa cena ou num frame específico?

Estou precisando de scripts em CGI.

Como eu faço para retornar um número inteiro?

Como fazer um botão comutador do tipo play e stop?
Nikefootball, uso e abuso do flash - Avaliação de sites

Desenhando apenas com Actionscript.

Aspectos Básicos das Ferramentas de Desenho.

Sistema de newsletter utilizando Flash + ASP.

Carregando SWFs em diferentes níveis.

Labirinto - Plataforma de jogo em terceira pessoa em flash 5: 1° parte

Objeto XML - xml viewer

Configurando texto via actionscript.

Primeiros passos - apresentação

GuestBook usando integração Flash e PHP.

Objeto array - Arrays X Objetos

Objeto array.
Swap Movieclips

Spectrum Sound Analyzer

Altex

Cronômetro

Intro animada

Motionblur

Ir e voltar

Shape tween imagem

Bspline2

Busca texto

Texto html

Drummer
HOME | TRUQUES E DICAS
Função chamada createFunctionCall, que permite criar uma função para executar uma outra função com certos parâmetros.
por Jonas Galvez


Tentarei fazê-lo entender como a minha função (createFunctionCall) funciona. Bom, primeiramente, vamos dar
mais mais uma olhada nela:

_global.createFunctionCall = function() {
    var _obj = arguments.shift();
    var _function = arguments.shift();
    var _arguments = arguments;
    return function() { _function.apply(_obj, _arguments); };
};

Linha por linha. Na primeira linha, declaramos a função, anexando-a ao namespace _global. Desta forma, ela estará disponível para todas as timelines e objetos do filme. Na segunda linha, declaramos a variável local _obj com o valor do primeiro parâmetro passado para a função.
Os parâmetros que são passados para uma função podem ser acessados através da coleção arguments. Veja o exemplo abaixo:

function soma() { return arguments[0] + arguments[1]; };
trace(soma(2, 2)); // resultado: 4

O método Array.shift exclui o primeiro elemento do array (índice 0) e o retorna para uma variável. Assim, na segunda linha do script, estamos obtendo o primeiro argumento (parâmetro) que é passado para a função. Na terceira linha, efetuamos o mesmo procedimento para obter o segundo parâmetro que foi passado para a função. Como o primeiro já foi excluído na linha anterior (através do shift), o segundo parâmetro passou a ser o primeiro. Na quarta linha do script, definimos uma referência à coleção arguments, que nesto ponto contém apenas o restante dos parâmetros. Estes parâmetros são os que serão passados para a função que deverá ser executada. Agora já temos as informações que precisamos. Uma referência ao objeto (_obj), uma referência à função (_function).que será executada dentro do objeto e os argumentos (_arguments) que deverão passados para aquela função.

O que nos permite executar a função (_function) dentro do objeto (_obj) especificado é o método Function.apply. Este método tem dois parâmetros. O primeiro parâmetro é o objeto ao qual função deverá ser aplicada, e o segundo é uma array contendo os parâmetros que deverão ser passados para função. Na quinta linha do script, retornamos uma função auxiliar que irá executar nossa função (_function) dentro de um objeto (_obj).

Vejamos um exemplo bastante simples de uso:

// um objeto simples, contendo uma propriedade
// chamada "numero" com o valor 10
var meuObjeto = new Object();
meuObjeto.numero = 10;

// uma função simples, que exibirá o conteúdo
// da propriedade numero
var minhaFuncao = function() {
    trace(this.numero);
}

// ao executar a linha abaixo, o resultado será undefined
minhaFuncao();

Isto acontece por que a função está sendo executada dentro do contexto do _root, e não tem acesso à propriedade "numero" do objeto definido anteriormente. Mas com o seguinte script:

minhaFuncao.apply(meuObjeto);

A função será aplicada ao objeto definido no método apply, e com isso o valor da propriedade número poderá ser acessado. Basicamente, são estes os fatores que fazem minha funçãozinha funcionar. Para aplicá-la ao seu script:

for(var mc, i = 0;  i <= ico.length; i++) {
    mc = this["portafilme" + i];
    mc.onRelease = createFunctionCall(mc, function(parametro) {
        trace("Parâmetro passado para a função: " + parametro);
    }, "Valor do parâmetro que está sendo passado!");
};

Jonas Galvez

0 comentário