PEDRO CLAUDIO (50 pts)

IRAPUAN MARTINEZ (45 pts)

SÁVIO PONTE (39 pts)

SYDNEY GANHO (60 pts)

LUIZ AVANCI (51 pts)

GABRIEL SPORCH (53 pts)

STICKMAN (155 pts)

RÔMULO NUNES (32 pts)

SASHA GUDEY (235 pts)

GUILHERME SCHEIBE (49 pts)

GUILHERME G.G. (137 pts)

MARCELO SIQUEIRA (96 pts)
Treinamento PontoFlash de Flash e ActionScript

Preciso fazer com que o Flash capture 2 teclas pressionadas ao mesmo tempo.

Como fazer uma timeline andar mais lenta que outra?

Como fazer um cursor assim que o mouse entra numa área?

Que programas tiram as bordas, barra de título de um projetor (executável)?

Detector de FlashPlayer.

Como faço para simular frames dentro do Flash? Sem HTML.

Quero um movieclip arrastado que ao se deparar com umas linhas, não consiga atravessar.

Como fazer um mousetrail com duplicate e alpha?

Para recuperar recuperar variaveis no url com o Flash.

Como que faz para um gif ou uma imagem seguir o mouse?

Estou com dificuldades de usar fontes true type sem anti-aliasing.

Como eu faço para retornar um número inteiro?

Como defino uma pausa (delay) em meu filme?

Algumas dicas de como usar XML no Flash.
Objeto Sound.

Alterar a parência dos componentes do FlashMX.

Transparência no Flash.

Flash MX 2004 - class e prototype

Bookmak (Adicionar a favoritos).

Número randômicos sem repetições no Flash 5.

Gradiente variável

Loop infinito

Sistema de newsletter utilizando Flash + ASP

GetMySQLData para Flash5 (segunda parte)

Rayoflight.

Como enevoar as bordas de uma imagem no Fireworks.
batatoso

InfoForm

Slide desk

Nome obrigatório

Focus

Elástico

Ball & shad

3dsnake

BeeJay

Statusload

Texto com scroll

Sombras
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