FÁBIO DUARTE (79 pts)

ILVA RUDEV (90 pts)

DEMIS BUCCI (50 pts)

AUTOR DESCONHECIDO (100 pts)

DAUTON JANOTA (255 pts)

ZEBEDIAH (35 pts)

PANDOGO (82 pts)

MARLOS ALVES CARMO (90 pts)

SYDNEY GANHO (60 pts)

RICARDO FIGUEIRA (33 pts)

LEANDRO AMANO (83 pts)

GÉRIO (93 pts)
Treinamento PontoFlash de Flash e ActionScript

como eu chamo uma função do Flash a partir do javascript?

Como posso dessaturar uma foto para seus níveis de preto e branco?

Queria que minha página em HTML tivesse aquele script de data e hora.

Não estou conseguindo fazer o preenchimento gradiente no Flash5

Dá pra fazer um menu popup usando a propriedade _currentFrame?

Problemas com actions condicionais.

Um filme feito no Flash5 abre em quem só tem o FlashPlayer 4?

Uma variável é uma propriedade? Não deveria ter um “undersore”?

Como fazer um rastro (mouse trial), mas que as cópias ainda variassem o alpha.

Onde teria algum recurso de upload, para enviar, via site, imagens para o servidor?

Como verificar se um campo de formulário não foi preenchido?

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

Preciso de um Script de Contagem regressiva para o Flash.

Como faço para selecionar um determinada letra de uma string?
Gerando XLS a partir de ASP

Troca de cor de imagens

Transparência no Flash.

Mascara animada no Flash MX

Local Shared Objects segunda parte.

Objeto Array

Tratamento de imagens e alguns efeitos no Fireworks

Tell Target e Linhas do tempo independentes

Como arredondar os cantos de uma foto no Fireworks.

Janelas tipo Windows com Swap Depth

Rotacionar objetos 3D no Flash.

Formulário usando Flash e PHP
Esconde scroll

Formulário com ASP

Botão liga/desliga

Nudemask3

Álbum de fotos

Gravar dados

Texturedtriangle

Upperfirstletter

Color Pick

Calendário

3D-gradient

Despertador
HOME | TRUQUES E DICAS
Como gerar uma seqüência randômica sem repetir os valores?
por Alisson Oldoni



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