PANDOGO (82 pts)

MUZAK (45 pts)

DANIELA PIRES (86 pts)

GÉRIO (93 pts)

MAURO ROCHA TAVARES (40 pts)

ZEBEDIAH (35 pts)

RICARDO TAKAHASHI (180 pts)

JOTA LAGO (40 pts)

ÉMERSON ROCHA (85 pts)

DENIS CARAVALHO (85 pts)

PEDRO CLAUDIO (50 pts)

IRAPUAN MARTINEZ (45 pts)
Treinamento PontoFlash de Flash e ActionScript

Poderia me explicar um pouco mais sobre o arrays dentro de objetos?

Como faço para selecionar um determinada letra de uma string?

Gostaria de no mouse over sobre um texto, ele parasse, e no mouse out, prosseguisse de onde parou.

Gostaria de saber pra que servem os levels?

Preciso de formulário usando HTML + ASP + Acess.

Como se faz para que um botão de um filme de flash torne uma layer feita no dreamweaver visível ou invisível?

Como arrastar um objeto somente na horizontal?

Como restringir a números um campo de texto de entrada?

Como se faz o efeito do mouse de http://www.kazsh.com/?

Eu queria que no mouse over aparecesse um texto acompanhando o mouse.

Alguém sabe como fazer texto com contorno em outra cor?

Tem como abrir um PDF (acrobat reader) entro do Flash? Pode ser com Delphi?

Como criar uma função só para executar uma outra função com certos parâmetros?

Quero fazer um loop infinito.
Flash MX 2004 Updater

Menu Popup

Load Múltiplos.

Alterar a parência dos componentes do FlashMX.

Enviando variáveis do Flash para ASP.

Flash Communication Server MX - Primeira Parte

Redimensionar um filme no modo de edição

Botão dinâmico via Action Script.

Usando XML com Fireworks MX.

Botões estilo Apple.com feito no PhotoShop

Quando usar vetor ou bitmap?

Componente ComboBox.
Fotos banner

Planeta orbita

Rotação

3d shadow

Calculadora

Check date

Busca texto

Following

Dots2a

Transição

Direção do mouse

Loading trail
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