GUILHERME G.G. (137 pts)

PANDOGO (82 pts)

DEN IVANOV (260 pts)

JOTA LAGO (40 pts)

EDUARDO PERROUD (52 pts)

MARLOS ALVES CARMO (90 pts)

EDUARDO WALMOTT (226 pts)

AUTOR DESCONHECIDO (100 pts)

MAURO ROCHA TAVARES (40 pts)

AMAURY BENTES (123 pts)

DENIS CARAVALHO (85 pts)

MUZAK (45 pts)
Treinamento PontoFlash de Flash e ActionScript

Tenho 3 botões e quero que cada um toque uma música diferente.

Tem alguma técnica pra eu rodar um imagem em 360º no flash?

Como carrego e descarrego (load movie) um filme no mesmo botão?

Qual a maneira de colocarmos uma figura (gif) como plano de fundo em um fla?

Detector de FlashPlayer.

Como eu faria um exemplo com zoom no flash?

Como criar um sitema de senha e login usando apenas o Flash?

Como verificar atravéz do flashMX a resolução do monitor do usuário?

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

Existe um modo de fazer tellTarget em vários MCs ao mesmo tempo?

Como reproduzo aquele efeito de espelho?

Como fazer um marquee com Javascript?

Como coloco um vídeo em meu filme?

Há a possibilidade de puxar imagens por alguma variável?
Line Draw.

Funções de actionscripts

Utilizando o ScrollPane no Flash MX.

Gráfico pizza.

Post comments (Livro de Visitas)

Tween Class

Editor de banco de dados (PHP-MySql) orientado a Objetos (OOP)

Ação Include.

Sala de bate papo (chat) , com Flash+PHP

Usando Flash e ASP para contruir um formulário.

O desenho animado abrindo sites.

EmbedFonts e Mini-dicionário Style
Mouse tracks

Following

Rand letters

Hitest eat

Globo girando

Um por vez

Prototype, exemplo simples

Scroll text2

Rotatearrow

campo de texto no Down

To Lower Case

Nudemask2
HOME | TUTORIAIS
Objeto Movieclip - Endereçamento (segunda parte)
por Helen Triolo

Recaptulando: sintaxe ponto versus sintaxe matriz.

Como mencionado na página anterior, você pode usar uma das duas:

     sintaxe ponto com movieclip de nomes de instância exatos,
ou
     sintaxe array com seqüência variável ou seqüência de índices de expressão

para endereçar movieclips. Você pode misturar as duas sintaxes dentro de uma instrução, mas a parte da sintaxe de ponto deve sempre utilizar um movieclip com nome de instância, e a parte array deve sempre utilizar um índice string. Para a instância movieclip mcB dentro do movieclip mcA localizada na linha de tempo principal, as seguintes instruções são equivalentes:

1) sintaxe ponto simples:

_root.mcA.mcB._alpha = 40;

2) sintaxe matriz simples (os índices devem ser strings):

_root["mcA"]["mcB"]._alpha = 40;

3) matrizes mistas e sintaxe ponto (funcionam bem, mas não as recomendamos por causa da legibilidade):

_root["mcA"].mcB._alpha = 40; 

4) sintaxe mista com nome de instância especificado por uma variável:

sInstance = "mcA";
_root[sInstance].mcB._alpha = 40;

5) sintaxe mista com nome de instância especificado por uma concatenação de variável e string:

sBaseName = "mc";
_root[sBaseName + "A"].mcB._alpha = 40;

6) sintaxe matriz com ambos os nomes de instância especificados por variável + string:

sBaseName = "mc";
_root[sBaseName + "A"][sBaseName + "B"]._alpha = 40;

Endereçamento relativo

Isso é bom para endereçamento absoluto, mas e acerca de movieclips que necessitam falar com seus "irmãos" movieclips (existentes na mesma linha de tempo) ou seus movieclips parentes? E se o filme todo precisar ser carregado dentro de um movieclip - como poderá o endereçamento ser feito, se as referências são relativas em lugar de absolutas? O exemplo que estaremos discutindo mostra como montar um filme no qual movieclips "irmãos" se endereçam uns aos outros e aos seus movieclips parentes (neste caso simples, a linha de tempo principal). O filme consiste de 5 movieclips, com nomes de instância mcHolder1-mcHolder5, que se situam na linha de tempo principal. Esses cinco movieclips são idênticos (exceto pelos seus nomes de instância), e cada um contém um outro movieclip, mcSpinner, e dois botões. Existe também uma variável (um campo de texto) na linha de tempo principal chamada nClips. Isto é o que mcHolder parece:



   Cinco instâncias de mcHolder foram colocadas dentro do filme com nomes de instância mcHolder1-mcHolder5. Quando o botão "EU" é clicado em qualquer das instâncias, o mcSpinner nessa instância começa a girar. Quando ele é clicado novamente, o mcSpinner para. Quando o botão "ELE" é clicado, o mcSpinner da instância à direita começa a girar (e para quando o botão é clicado novamente). Assim, o botão "EU" deve endereçar para o movieclip mcSpinner aninhado dentro do movieclip que contém o botão. O botão "ELE" deve endereçar para um movieclip mcSpinner aninhado dentro de um movieclip "irmão". Além disso, ambos os botões devem acessar a variável nClips em seus _parent (a linha de tempo principal). Aqui está o filme - teste-o:


baixe o fla

Esse é o código no botão "EU" de cada movieclip mcHolder:

on (release) {
if (lSpinning) {
this.mcSpinner.gotoAndStop("stopped");
_parent.nClips--;
} else {
this.mcSpinner.gotoAndPlay("spinning");
_parent.nClips++;
}
lSpinning = !lSpinning;
}

   É importante notar que botões em um movieclip não são objetos aninhados; eles são considerados parte de, ou equivalentes a, movieclips nos quais residem. Assim qualquer código em um botão com referências "this" referem-se ao movieclip no qual aquele botão reside. Qualquer código com referências "_parent" refere-se ao movieclip no qual o movieclip que retém o botão reside. No nosso caso, o botão está em uma das instâncias do mcHolder, assim, "this" refere-se àquela instância. E _parent refere-se ao clip de retenção a instância do mcHolder, o qual está na linha de tempo principal no nosso caso.

   É quase sempre preferível endereçar clips com caminhos relativos como _parent, ou _parent._parent ao invés de _root de modo que o filme possa ser carregado dentro do movieclip ou duplicado sem ter que mudar todas as referências de caminho.

   lSpinning é um objeto (uma variável) dentro da instância corrente do mcHolder o qual mantém controle sobre se o movieclip está girando ou parado. Porque estamos referenciando-o do mesmo movieclip no qual ele existe, não necessitamos especificar um caminho para ele.

   No exemplo acima, "this.mcSpinner" refere-se ao movieclip aninhado dentro da instância mcHolder corrente, e "gotoAndStop("stopped")" é um método movieclip que envia o filme ao quadro "stopped" dentro do movieclip referenciado. Visto que a ação impede o mcSpinner de girar, nós também diminuimos o valor do campo de texto nClips, que está um nível abaixo (_parent), para mostrar que menos um movieclip esta girando agora.

   Finalmente, colocamos um código similar no botão "ELE" para referenciar o mcSpinner no movieclip irmão. Note que a sintaxe array é essencial aqui porque nós não temos o nome exato da instância do movieclip vizinho; devemos construí-lo por uma string concatenada com uma variável (a variável concatenadora iNext, é atualmente um número variável, mas o Flash o converte automaticamente para uma string quando ele é concatenado com uma string). Para obter o irmão, descemos ao nível _parent e então subimos novamente ao irmão apontado por iNext (e então subimos mais um nível para alcançar o mcSpinner aninhado ali dentro):

on (release) {

// Procurando que é o movieclip referenciado como "ELE"
iThisOne = Number(this._name.substr(8,1));
iNext = (iThisOne == 5 ? 1 : iThisOne+1);

// alternando ações para o spinning
if (_parent["mcHolder"+iNext].lSpinning) {
_parent["mcHolder"+iNext].mcSpinner.gotoAndStop("stopped");
_parent.nClips--;
} else {
_parent["mcHolder"+iNext].mcSpinner.gotoAndPlay("spinning");
_parent.nClips++;
}

// alternando estágios
_parent["mcHolder"+iNext].lSpinning = !(_parent["mcHolder"+iNext].lSpinning);
}

Variável apontadora para um objeto

Uma nota final: Em qualquer parte do código onde o mesmo objeto é repetidamente referenciado, uma variável pode ser criada, a qual aponta para aquela variável utilizada em seu lugar. No exemplo acima, a variável nomeada mcrNext (a qual aponta para "o movieclip à direita do corrente") pode ser criada e substituída por _parent["mcHolder"+iNext] para tornar o código mais legível e permitir fáceis substituições se o nome ou o caminho do movieclip em referência mudar:

on (release) {
iThisOne = Number(this._name.substr(8,1));
iNext = (iThisOne == 5 ? 1 : iThisOne+1);
mcrNext = _parent["mcHolder"+iNext];

if (mcrNext.lSpinning) {
mcrNext.mcSpinner.gotoAndStop("stopped");
_parent.nClips--;
} else {
mcrNext.mcSpinner.gotoAndPlay("spinning");
_parent.nClips++;
}

mcrNext.lSpinning = !(mcrNext.lSpinning);
}

Tradução:
Sérgio Ramalho



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