ZEBEDIAH (35 pts)

DAUTON JANOTA (255 pts)

MUZAK (45 pts)

ILVA RUDEV (90 pts)

JONAS GALVEZ (521 pts)

MAURO ROCHA TAVARES (40 pts)

MARCOS JOSÉ PINTO (44 pts)

EDUARDO WALMOTT (226 pts)

DAAFY (55 pts)

LUI FERNANDO (151 pts)

MARLOS ALVES CARMO (90 pts)

NILTON BICALHO (61 pts)
Treinamento PontoFlash de Flash e ActionScript

Qual a relação entre pixels e centímetros?

Existe alguma maneira de atualizar automaticamente um cálculo matemático?

Um preload (carregador) para carregar swf, jpg, mp3, txt, asp, php e xml.

Para que serve e como usar o LoadVars? Substitui o LoadVariables?

Que número é aquele que vem no final da sintaxe do loadMovieNum?

Preciso de um sisteminha em FLASH para cadastrar emails de visitantes.

Como mostrar apenas 50 caracteres de um texto que tem 300?

Como usar os métodos de desenho do Flash?

Porque um botão dentro de um movie clip não envia comandos para uma cena?

Tem como posicionar uma imagem aberta com Load Movie (jpg)?

Como desenhar círculos e bolas dinamicamente no FlashMX?

Posso fazer um sistema de login/password usando apenas o FlashRemoting?

Como fazer um link para fechar uma animação?

O que é e para que serve o "linkage"?
Efeito de Fogo no Photoshop

Máscara com gradiente.

Barra de rolagem simples no Flash5.

Enviando variáveis do Flash para ASP.

Gráfico pizza.

Jogo tiro ao alvo

Objeto Array: métodos sort() e reverse().

Preloader com máscara

Grandene - Avaliação e sites

Sistema de newsletter utilizando Flash + ASP.

A história do Flash.

Integrando o Flash com Arquivos de Vídeos I
Spiral menu

Cmponente Radio Button

Envelhecimento

campo de texto no Down

Clock

Mapa - Países com A 1

Cromatograma

3d frame by frame

Hexadecimal

Code Elastic

Scroll dinâmico

Texto matrix
HOME | TUTORIAIS
CD Record (um player com clips arrastáveis).
por Alexandre Porto

Nesse artigo, vamos responder uma dúvida de um de nossos colegas da lista PontoFlash. Ele queria fazer um "player" com imagens de CDs sendo arrastadas para uma área, na qual o som seria disparado. Então, vamos lá.

   Eu criei um filme de 500X370pixels. Coloquei um MovieClip circular, que chamei de "vitrola", posicionado no centro e no alto do Palco. Foram criados 5 MovieClips CDs, todos com botões internos (cd1, cd2, cd3, cd4 e cd5). Para terminar, foi criado um MovieClip (clip) no qual serão colocadas algumas "actions" que serão usadas pelo sistema.

Disponibilizar os arquivos de som no filme.

De cara, vamos importar os arquivos de som. Pressionando Ctrl+R, você tem acesso à janela de importação. Escolha 5 loops. Importados, eles vão direto para a biblioteca. Você agora deve "linka-los" no filme. Para isso, abra a biblioteca e clique com o botão direito no nome do arquivo de som. Abrindo a janela "linkage", você digita "som1" no campo "Export this Symbol". Repita os passos para os outros arquivos na biblioteca, trocando para "som2" etc.

Agora vamos aos objetos do stage.

O movieclip "vitrola" é apenas um alvo no qual será implementada uma rotação dos CDs. Essa rotação será desencadeada por um "hitTest", como veremos adiante.

   O movieclip de controle (clip), pode ser invisível ou estar fora do palco, pois ele terá apenas actions. Vamos a elas, com comentários:

onClipEvent (load) {
// aqui, no carregamento do movieclip, eu estou chamando os objetos Sound
meuSom1 = new Sound();
meuSom1.attachSound("som1");
meuSom2 = new Sound();
meuSom2.attachSound("som2");
meuSom3 = new Sound();
meuSom3.attachSound("som3");
meuSom4 = new Sound();
meuSom4.attachSound("som4");
meuSom5 = new Sound();
meuSom5.attachSound("som5");
// essa variável é usada no swapDepths, que deixa
// os movieclips CDs sempre num nível superior ao outro

top = 1;
// essa função comanda os CDs, os enviando para a posição inicial
// o loop FOR, faz o comando ser realizado com todos os CDs
// ela será disparada no stopDrag dos CDs

function voltar () {
for (i=1; i<=5; i++) {
_root["cd"+i]._y = 300;
_root["cd"+i]._x = _root["a"+i];
}
// ainda na função, eu desligo todos os arquivos de som
stopAllSounds ();
// posiciono o CD escolhido na vitrola (variável"x")
_root["cd"+_root.x]._y = 80;
_root["cd"+_root.x]._x = 280;
// começo a tocar o som do CD escolhido
this["meuSom"+_root.x].start(0, 5);
}
}
onClipEvent (enterFrame) {
// aqui eu disparo a rotaç|ão do CD quando este estiver na vitrola
_root["cd"+_root.x]._rotation += 10;
}

   Algumas dessas "actions" na função dependem de variáveis declaradas nos botões dos CDs. Vamos a eles então:

on (press) {
startDrag ("");
this.swapDepths(_root.top);
_root.top++;
// aqui eu uso a variável "root.top" para manter sempre
// o CD escolhido em um nível superior

}
on (release) {
stopDrag ();
// se o CD arrastado for solto sobre a vitrola ...
if (this.hitTest(_root.vitrola)) {
// eu declaro uma variável que determina o CD escolhido
_root.x = 1;
// eu declaro uma variável que determina o posicionamento _x original dele
_root.a1 = 50;
// para terminar eu disparo a função presente no movieclip "clip"
// as variáveis declaradas acima ("x" e "a1") são usadas na função

_root.clip.voltar();
}
}

   Nos botões dos CDs, há duas linhas que devem ser modificadas de um para o outro. São os valores das variáveis, para que a função possa reconhecer o CD escolhido e arrastado. São elas:

_root.x = 1;
// esse valor deve ser trocado para 2, 3, 4 ou 5
_root.a1 = 50;
// no meu exemplo esse valor está sendo trocado para a2=150, a3=250, a4=350 e a5=450

   Resumindo, quando eu arrasto um CD e o solto na vitrola, desligo todos os sons e posiciono todos eles na posição original. Imediatamente após (você nem vai perceber), o CD escolhido vai para o local da vitrola, começa a girar e dispara o som.

   Quando eu solto outro CD, o processo se repete.

Espero ter ajudado



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