NILTON BICALHO (61 pts)

MUZAK (45 pts)

GABRIEL SPORCH (53 pts)

JOÃO NETO (78 pts)

BÁRBARA TOSTES (64 pts)

HELEN TRIOLO (444 pts)

ÉMERSON ROCHA (85 pts)

STICKMAN (155 pts)

JONAS GALVEZ (521 pts)

SASHA GUDEY (235 pts)

ZECA BALA (45 pts)

RICARDO FIGUEIRA (33 pts)
Treinamento PontoFlash de Flash e ActionScript

Alguém sabe como usar o swapDepths?

Para que serve o ONIO SKIN?

Como verificar um caracter numa variável e retira-lo?

Para que serve o evento DATA?

Quero fazer um objeto ficar ir alterando sua propriedade '_alpha' o tempo todo.

Como atualizar o texto de um filme Flash sem precisar editá-lo? Como funciona esse objeto loadVars?

Preciso fazer um objeto seguir o mouse (arrastando) somente no horizontal.

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

Queria fazer um objeto subir e descer sob o comando de botões no roll over.

Como se faz esse tipo de menu do site http://www.halolounge.com?

Como armazenar dados em uma base de dados para só depois serem importadas para o Access?

Como faço para redimensionar um preenchimento gradiente?

Como eu faço para checar quantas pessoas estão online no meu site?

Uma instrução de um movieclip para a timeline principal não funciona.
Primeiros passos - apresentação

Objeto array - Arrays X Objetos

Desenhando apenas com Actionscript.

Níveis dentro do Flash - Load Movie e Load Variables (segunda parte)

Janela popup.

Load Múltiplos.

Pre-loader simples.

Criando um objeto para sua paleta personalizada (NINJA)

Ilustrando com effects e gradientes no Fireworks

Envio de um arquivo SWF por e-mail

Formulário interagindo Flash e PHP.

Objeto XML - xml viewer
Drag MC 1

Magicalcrystalball

Create line

Simple mousefollow

Statusload

Alpha dinâmico

Barneys menu

Nudemask3

Giratoria

Duas casas decimais

Txt com preloader

Primeira letra maíscula
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