LUIZ HERRERA (117 pts)

NILTON BICALHO (61 pts)

NETO LEAL (116 pts)

MAURO ROCHA TAVARES (40 pts)

SASHA GUDEY (235 pts)

GUILHERME G.G. (137 pts)

RICARDO TEIXEIRA (40 pts)

DENIS CARAVALHO (85 pts)

BÁRBARA TOSTES (64 pts)

JOTA LAGO (40 pts)

DEN IVANOV (260 pts)

AUTOR DESCONHECIDO (100 pts)
Treinamento PontoFlash de Flash e ActionScript

Como colocar um “play” disparado pelo botão direito do mouse?

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

Quero que no mouseOver meu movieclip pare e no mouseOut ele se movimente.

Como posso rotacionar algum objeto?

Como verificar se dois campos receberam o mesmo valor e disparar uma ação?

Quero desabilitar os botões do _level0 (nível zero).

Como usar o tab nos formulários do Flash?

Usar uma variável importada de um TXT numa função do Flash.

Alguém sabe um modo de converter um número com várias casas após a vírgula para um com apenas 3?

Como avaliar se uma variável externa foi carregada por completo, sem usar o evento Data?

Como eu faço para checar quantos elementos de uma array é igual a "1"?

Qual é o comando para quando um HTML abrir redirecione para outro automaticamente?

Posso limitar o tempo de permanência de um usuário numa página?

Como fazer para o TXT importado não vir do Cache?
Como arredondar os cantos de uma foto no Fireworks.

Máscaras no Fireworks MX, o mistério!

Colisão

Jogo de colorir.

Elasticidade com ActionScript.

Objeto Key

Máscara

Detecção do FlashPlayer.

Configurando o FTP do Dreamweaver MX

Criando texto neon.

Macromedia Flash - Tendências

Formulário usando Flash e PHP
Substituir texto

Raindropstrail

Email check

River ride

To Upper Case

Aleatory move

False Mask

Menu móvel

Chinese dragoon

Menu elástico

Arrasta e atrito

Degrade
HOME | TRUQUES E DICAS
Pra que serve o comando MovieClip.prototype?
por Jonas Galvez


Todas CLASSES do ActionScript têm a propriedade prototype. Mas o que é uma classe? Uma classe é um modelo de um objeto, um template. O conceito de classes é muito parecido com os dos símbolos no Flash. Quando você cria um símbolo (seja um movieclip, um botão ou um gráfico), ele tem uma característica própria inicial. Ele é um modelo. Você pode ter várias INSTÂNCIAS deste símbolo, com nomes de diferentes, e características diferentes (alphas variados, por exemplo). A sintaxe para se criar um objeto genérico no Flash é a seguinte:

umObjeto = {
propriedade1:"valor1",
propriedade2:"valor2"
};

Pronto. Agora temos um objeto chamado umObjeto, e ele contém duas propriedades: propriedade1 e propriedade2. Para acessar os valores dessas propriedades, você utilizaria a seguinte sintaxe:

trace(umObjeto.propriedade1); // mostra valor1
trace(umObjeto.propriedade2); // mostra valor2

Objetos podem ser úteis para agrupar informações co-relacionadas. Podemos dizer que um objeto é uma espécie de array sofisticada. Ao invés de usar índices (números) para identificar os dados, usamos nomes personalizados. Agora imagine que em um projeto, você tenha que criar vários objetos iguais, mas com dados diferentes:

pessoa1 = {
nome:"Jonas Galvez",
email:"jonasgalvez[at]uol.com.br"
};
pessoa2 = {
nome:"Carlos Maxx",
email:"carlosmaxx[at]bol.com.br"
};

Seria realmente chato, não? Neste caso, você pode criar uma classe para lhe ajudar a definir estes objetos. Uma classe, no ActionScript, nada mais é que uma simples função, que é usada para definir um objeto através do operador new. Veja o exemplo:

function Pessoa(nome, email) {
this.nome = nome;
this.email = email;
};

Agora definimos a classe Pessoa, que irá definir um objeto com as propriedades nome e email. Utilizando esta classe, podemos criar objetos mais facilmente, veja:

pessoa1 = new Pessoa("Jonas Galvez", "jonasgalvez[at]uol.com.br");
pessoa2 = new Pessoa("Carlos Maxx", "carlosmaxx[at]bol.com.br");

Pronto, agora você já pode criar seus objetos de forma simples e rápida. Um objeto pode (e normalmente deve) executar certas tarefas, no caso funções. Uma função que é subordinada à um objeto é chamada método. Podemos adicionar um MÉTODO à classe Pessoa, para mostrar o nome na janela Output, veja:

function Pessoa(nome, email) {
this.nome = nome;
this.email = email;
this.mostrarNome = function() {
trace(this.nome);
};
};

Ok, agora já temos uma classe mais sofisticada. Além de definir um objeto com as propriedades nome e email, ela também dá ao objeto um método chamado mostrarNome, que exibe o conteúdo da propriedade nome na janela output. Veja um exemplo:

pessoa1 = new Pessoa("Peter Parker", "spiderman[at]nowhere.com");
pessoa1.mostrarNome();

A segunda linha do script acima irá exibir o texto "Peter Parker" na janela Output. Agora, pare para pensar. Todo objeto criado através da classe Pessoa receberá uma cópia individual do método mostrarNome. Mas na verdade, o método mostrarNome é único, e uma única cópia dele poderia ser acessada por todas as instâncias da classe, não? É aí que o prototype entra. A propriedade prototype possibilita, no ActionScript, a chamada herança (termo conhecido no Java). Se você anexar o método mostrarNome ao objeto prototype da classe Pessoa, todas as instâncias desta classe terão acesso à este método. Então:

function Pessoa(nome, email) {
this.nome = nome;
this.email = email;
};
Pessoa.prototype.mostrarNome = function() {
trace(this.nome);
};

Com isso, temos um aumento de performance no script. Se quisermos adicionar mais métodos para a classe Pessoa posteriormente, basta anexarmos as função ao objeto prototype da classe. É o que ocorre com a classe MovieClip. Podemos adicionar ou substituir métodos da classe MovieClip, de acordo com nossas necessidades.

MovieClip.prototype.mostraX = function() {
trace(this._x); // mostra a posição x do movieclip
};

Bom, espero que você tenha entendido. Esta foi uma explicação bastante superficial e incompleta. Mas minha intenção foi simplificar ao máximo, para que você pudesse entender facilmente. Qualquer dúvida, é só dizer. Ainda existem inúmeros outros tópicos sobre Programação Orientada à Objetos no ActionScript. Isto é apenas o começo.

Jonas Galvez

0 comentário