FLASHGURU (155 pts)

DAUTON JANOTA (255 pts)

EDUARDO WALMOTT (226 pts)

MARCOS JOSÉ PINTO (44 pts)

MAURO ROCHA TAVARES (40 pts)

EDUARDO PERROUD (52 pts)

BÁRBARA TOSTES (64 pts)

JOÃO NETO (78 pts)

RÔMULO NUNES (32 pts)

MANGOOST (80 pts)

AMAURY BENTES (123 pts)

LUIZ HERRERA (117 pts)
Treinamento PontoFlash de Flash e ActionScript

Qual a melhor maneira de importar um swf criado no Swish para o Flash?

Como abrir movieclips em seqüência, um após do fim da animação do outro?

Por favor se faz máscara? Quero que sobre o meu texto passe um círculo mostrando o que está escrito.

Tem como eu controlar um movieclip de outro movieclip?

Porque a extensão PHP3 não está funcionando no meu servidor Apache?

Importar variáveis de um TXT, com loadVars em um compontente scrollBar (rolagem).

Quero criar um link do banner que eu criei para um ponto abaixo dentro da mesma página. O banner já esta no Dreamweaver.

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

Posso criar um campo de texto do tamanho do meu texto?

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

Como faço para gravar um arquivo .txt a partir do flash e depois exibí-lo?

Preciso criar um formulário de envio de dados, juntamente com um arquivo em anexo.

Eu tenho dois botões que controlam o volume do meu Filme ...

Como manipular uma cena de um movieclip?
Criação de letras transparentes - Fireworks

Controle de MovieClip via Microphone.get();

Movimento por meio de actionscript

Gradiente variável

Formulário simples.

Objeto Array

Scroll Text.

Gerenciando camadas no CorelDraw

Um contador Flash + PHP

Tornando movieclips arrastáveis (drag movieclip)

Elasticidade com ActionScript.

Colisão
Formulário

Chinese dragoon

Drag tooltip

Direção do mouse

Lacraia

Nudemask2

Swirl

Movimento

Combobox 1

Personagem animado

Keycode

Duplicate MC



A chamada em cada um dos movieClips filhos é feita sob um intervalo de tempo.

/* versão 0.0001 beta */
MovieClip.prototype.playAllMovieClips = function(_interval) {
    this["__array"]=new Array(), this["__frame"]=_interval,
this["__actua"]=_interval;
    for (var _i in this) {
        if (typeof this[_i] == "movieclip") this["__array"].push(this[_i]);
    }
    this.onEnterFrame = function() {
        if (this["__frame"] == this["__actua"]++) {
            if (this["__array"].length>0) this["__array"].pop().play();
            else {
                delete this["__array"], this["__frame"], this["__actua"];
                delete this.onEnterFrame;
            } this["__actua"] = 0;
        }
    };
};

/* exemplo de uso */
_root.foo.playAllMovieClips(5);

lembre-se:

1- foo é o nome de instância de um movieClip, não pode ser uma variável de qualquer outro tipo. mas lembre-se que uma variável pode guardar uma referência a um movieClip, como no exemplo a seguir:

minhaVariavel = _root.foo;
minhaVariavel.playAllMovieClips(5);

ou ainda:

qualquerCoisa = "_root.argh";
eval(qualquerCoisa).playAllMovieClips(5);

2-este script criará variáveís de controle, são elas:

__array, __frame, __actua

Portanto, não poderá haver variáveis, movieClips, ou instâncias de qualquer natureza (botões, filmes, vetores...) com este nome no escopo local do movieClip, ou no escopo _global. mas você pode mudar isso :-)

Alisson Oldoni



( 0 COMENTÁRIO ) | ( LINK PERMANENTE ) | 




Esse código gera uma seqüência randômica de N valores, de 0 até N-1. Os valores não se repetem. N é o argumento passado a função.

function geraSequencia(_number) {
    var _random, _i, _vetor = new Array();
    function jaExiste(c_valor, c_vetor) {
        var _sizeof = c_vetor.length, _i;
        for (_i=0; _i<_sizeof; _i++) {
            if (c_valor == c_vetor[_i]) {
                return (1);
            }
        }
        return (0);
    }
    for (_i=0; _i<_number; _i++) {
        do {
            _random = random(_number);
        } while (jaExiste(_random, _vetor));
        _vetor.push(_random);
    }
    return (_vetor);
}
// teste simples
foo = new Array();
foo = geraSequencia(15);
trace(foo);

Alisson Oldoni

Esse código poderia estar mais optimizado. Tente executar essa rotina passando o valor 1000 como parâmetro! Se você for sortudo ela rodará. Em um random de 15 números essa rotina levou entre 10 a 21 milisegundos para ser executada. Pensando nisso fiz um outro script que faz a mesma coisa mas que não depende da boa vontade de um random.

function geraSeq(number) {
    var tempArray = new Array();
    for (var i = 0; i        tempArray[i] = i;
    }
    for (var i = 0; i        var randIndex = Math.round(Math.random()*(number-1));
        var transicao = tempArray[randIndex];
        tempArray[randIndex] = tempArray[i];
        tempArray[i] = transicao;
    }
    return tempArray;
}
// teste
trace(geraSeq(1000));

Passando o numero 15 como parâmetro essa rotina leva 3 milisegundos para executar, com valor = 1000 ela demora 178 ms.

Rômulo Nunes



( 0 COMENTÁRIO ) | ( LINK PERMANENTE ) | 



Cole este script no primeiro frame de um .fla em branco no flash MX:

/* início */

_root.createTextField("valor",0,50,50,150,100);

escutador = new Object();
escutador.onKeyDown = function() {
switch(Key.getCode() - 48) {
case 1:
// ação para tecla 1
_root.valor.text = "você apertou a tecla 1";
break;

case 2:
// ação para tecla 2
_root.valor.text = "você apertou a tecla 2";
break;

case 3:
// ação para tecla 3
_root.valor.text = "você apertou a tecla 3";

/* a última ação não necessita do break no final */
}
};
Key.addListener(escutador);

/* fim */


Veja o seu comportamento e adapte as suas necessidades

Alisson Oldoni


( 0 COMENTÁRIO ) | ( LINK PERMANENTE ) | 



Bem, eu precisei disto (não me perguntem) e, depois de muita busca, consegui montar um código em AS para descobrir em que dia cai a páscoa em um ano qualquer. Ele funciona da mesma forma que a função easter_days do PHP. Até o fato de se você não passar nenhum parâmetro para a função, ele assume o ano atual da máquina rodando o script, é igual. Me baseei totalmente no algoritmo em C feito por Simon Kershaw (perdi a maldita URL pra vocês baixarem o arquivo original...), que, por sua vez, se baseou num cara chamado Dionysius Exiguus, que fez este algoritmo em 325 DC !

O retorno é o número de dias depois do dia 21 março (março tem 31 dias) em que a páscoa vai cair. Você pode adicionar este código para facilitar a sua vida:

/*
if (easterDate(meuAno)<11) {
trace ((easter+21)+" Março");
} else {
trace ((easter-10)+" Abril");
}
*/

segue a função:

easterDate = function(year) {
if (year == undefined) {
_blah = new Date();
year = _blah.getFullYear();
delete _blah;
}
var golden, solar, lunar, pfm, dom, tmp;
golden = (year%19)+1;
if (year<=1752) {
dom = (year+(year/4)+5)%7;
if (dom<0) {
dom += 7;
}
pfm = (3-(11*golden)-7)%30;
if (pfm<0) {
pfm += 30;
}
} else {
dom = (year+(year/4)-(year/100)+(year/400))%7;
if (dom<0) {
dom += 7;
}
solar = (year-1600)/100-(year-1600)/400;
lunar = (((year-1400)/100)*8)/25;
pfm = (3-(11*golden)+solar-lunar)%30;
if (pfm<0) {
pfm += 30;
}
}
if ((pfm == 29) || (pfm == 28 && golden>11)) {
pfm--;
}
tmp = (4-pfm-dom)%7;
if (tmp<0) {
tmp += 7;
}
return(Math.floor(pfm+tmp+1));
};


E você pode chamá-lo de qualquer lugar do filme desta forma:

Easter = _root.easterDate(2000);
// retorna o número de dias depois do dia 21 de março em que irá cair a páscoa.

Se você achou totalmente inútil, não responda...


( 0 COMENTÁRIO ) | ( LINK PERMANENTE ) |