IRAPUAN MARTINEZ (45 pts)

PANDOGO (82 pts)

LEANDRO AMANO (83 pts)

ALEXANDRE PORTO (1281 pts)

SASHA GUDEY (235 pts)

MAURO ROCHA TAVARES (40 pts)

JOÃO NETO (78 pts)

STICKMAN (155 pts)

DAUTON JANOTA (255 pts)

SYDNEY GANHO (60 pts)

MANGOOST (80 pts)

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

Quero inserir um swf dentro de uma apresentação do PowerPoint.

Queria usar no meu formulário o CGI de outro domínio.

Tenho três nomes e para cada um queria mandar o usuário para uma cena diferente.

Estou tentando aplicar uma ação a um botão para fazer desaparecer um movieclip e quando clicar novamente ele mostrar o movie.

Há como usar o loadMovie para abrir os thumbs um ao lado do outro?

Jogo Genius.

Há como inserir um som midi numa apresentação flash?

Como fazer para que meu flash aberto com Load Movie tenha fundo transparente.

Para que usar onClipEvent?

Como faço para, ao clicar em um Botão minha animação retroceder frame a frame continuamente?

Como retardar (delay) o início de uma apresentação em Flash?

Quero que quatro movie clips percorram o stage e parem um abaixo do outro.

Quero que mouse seja substituído por um mocieclip apenas num determinado local.

Como fazer um objeto ter um movimento elástico?
Controlando um swf que está em outro frame

Flash MX 2004 Updater

Vídeo no FlashMX.

Escrevendo e lendo arquivos TXT com o FlashMX.

Controlar movimento de uma máscara

Clica nuaicon - Photoshop 6

Aplicativo Dirigido por Dados com XML

Code Animation - Parte 1

GetMySQLData para Flash5 (segunda parte)

TV Scan Lines - Fireworks

Nikefootball, uso e abuso do flash - Avaliação de sites

Desenvolvendo um Controle de Volume Customizado em Flash
Movimento

Load image

Busca texto

Sistema de notícias Flash+PHP

Book of pages

Menu HitTest

Espiral

Catavento

Menu fmx

Comunicare

Mapa - Países com A 1

Dincurtrail
HOME | TUTORIAIS
Objetos e classes
por Helen Triolo

O Flash 5 vem com vários tipos de objetos predefinidos, bem como várias classes predefinidas, que podem ser usadas para criar objetos. Cada objeto predefinido, bem como cada objeto feito a partir de uma classe predefinida, possui um conjunto específico de propriedades (características) e métodos (modos de ação) que estão embutidos (residentes) neles.

Nota: objetos de Actionscript não são a mesma coisa do que "objetos" referidos no ambiente de desenvolvimento do Flash. No ambiente de desenvolvimento, qualquer coisa que você desenhe que possa ser selecionada e que tenha um traço ou preenchimento associado a ele é referido como um objeto. Entretanto, em Actionscript, um objeto é um símbolo específico ou um tipo de dados predefinidos residentes com propriedades específicas e métodos únicos para aquele tipo de objeto.

   O objeto mais comumente utilizado em Flash é o Objeto Movieclip, uma linha de tempo independente que pode ser inserida na linha de tempo principal (ele mesmo uma espécie de Movieclip), ou dentro de outro Movieclip.

   Outros objetos predefinidos no Flash incluem Mouse, Key (Tecla), Math, Seleção e outros. Além disso, objetos podem ser criados a partir de classes predefinidas, usando funções de construção residentes; estas incluem Data, Array (Matriz), Color, Object, Number, Boolean, String, Sound, XML, e XMLSocket. Os objetos também podem ser criados a partir de classes definidas pelo usuário. Para fazer isso, você cria sua própria função montadora para definir as propriedades e métodos associados com os objetos derivados dessa classe.

Propriedades e métodos personalizados

Como registrado acima, os objetos predefinidos em Flash vêm com seus próprios métodos e propriedades embutidos. Mas, para quaisquer dos objetos e classes definidos, também podem ser definidos métodos e propriedades adicionais. Aos objetos criados a partir de classes predefinidas, você pode também sobrepor seus próprios métodos aos métodos residentes existentes. Você pode até sobrepor os métodos de objetos predefinidos residentes como Math pela redefinição dos métodos com uma nova classe e determiná-lo para o Objeto Math Prototype. Um instante enquanto eu desenrolo minha língua antes de continuar. Veremos como fazer cada uma dessas coisas abaixo.

Definir um novo método para um objeto predefinido (Math, Key, Mouse e Selection)

Você pode adicionar um método a qualquer objeto existente simplesmente definindo-o com uma função. Por exemplo, o objeto Math vem com um método randômico() residente, que retorna um número de ponto flutuante entre 0 e 1, não inclusivo. Se você precisar, em adição, de um método que retorne um número inteiro entre quaisquer dois números inteiros que você especificou (inclusive possivelmente cada um desses números inteiros), você pode definir seu próprio método:

Math.randomBetween = function (a,b) {
return (aa + Math.floor(Math.random()*(b-a+1)));
}

e então utiliza-lo em qualquer lugar no seu filme Flash:

x = Math.randomBetween (5, 10);
// retorna um número randômico: 5, 6, 7, 8, 9 ou 10

Definir novo método para objetos de classe predefinida (Color, Data, etc)

Alguns objetos exigem a utilização de uma função construtora para sua criação, utilizando uma das classes predefinidas do Flash. Eles requerem também um modo diferente de se adicionar métodos. Para juntar um método a uma classe, você o determina para o protótipo da classe. Isso pode ser feito utilizando uma função literal (função sem nome, ou inominada), ou pela definição da função primeiro e, então, determinando-o a uma propriedade protótipo. A vantagem desse último é que a função pode ser usada por mais de uma classe sem precisar defini-la novamente. Por exemplo, para adicionar um método que irá criar um objeto Color baseado em valores individuais RGB:

Primeiro modo:

Color.prototype.setIndivRGB = function (r,g,b) {
this.setRGB ( r<<16 | g<<8 | b);
}

Segunda maneira:

function SetIndivRGB (r, g, b) {
this.setRGB ( r<<16 | g<<8 | b);
}
Color.prototype.setIndivRGB = SetIndivRGB;

Agora quando um novo objeto de cor é criado a partir do construtor Color (para a classe Color), setInfivRGB será um dos métodos disponíveis para ele. Você pode então configurar a cor de uma animação para r=0, g=204, b=204 com este código:

ColorMC = new Color (mc);
ColorMC.setIndivRGB (0, 204, 204);

Sobrepor um método de um objeto criado de uma classe predefinida

Métodos residentes de quaisquer dos objetos que são criados com uma classe predefinida (através de uma função construtora) pode ser sobrescrita simplesmente configurando-se <class>.prototype.<método a sobrescrever> a uma nova função. A seqüência de reescrita de objeto de Brander Hall muitas vezes utilizada, é, de fato, uma sobrescrição de muitos dos métodos de Seqüência residentes com alguns mais eficientes. Aqui está um exemplo:

String.prototype.charAt = function(index){
Return(substring(this, index+1, 1));
}

Sobrepor um método de um objeto predefinido

Isso é uma coisa interessante que Greg Burch publicou (e Claus Wahlers explicou, muito obrigado) na lista Flashcoder, que permite a redefinição de métodos de objetos Math residentes. Ele é feito pela definição de uma nova classe, mathTest, que herda todos os atributos do objeto Math. Dois novos métodos são definidos para essa classe: oldRand, que mantém a funcionalidade prévia do método randômico do Math, e Random, que retorna inclusive um número inteiro dentro de uma escala. A nova classe mathTest é então designada ao método Math do protótipo do Objeto da classe (entendido que o mathTest se torna a nova classe Math).

MathTest = new Object ( );
MathTest.__proto__=Math;

MathTest.oldRand=Math.random;
MathTest.random=function(min,max){
return Math.floor(Math.oldRand ()*((max-min)+1))+min;
};
Object.prototype.Math=mathTest;

E ele funciona! O seguinte código produz 10 números aleatórios entre 0 e 1 e 10, mais entre 24 e 35, inclusive (e o resto dos métodos Math permanecem intactos como convém).

for (i=0;i<10;i++) {
a = Match.oldRand();
b = Math.random(24, 35);
trace("oldRand: " + a + " Ramdom: " + b);
}

Incluir métodos que diferem baseado em número de parâmetros passados

Carregando este outro passo único, se alguém deseja variar o método baseado em números de parâmetros passados (referido como sobrecarga), o método Math pode ser redefinido, não só para manter seus atributos originais, mas para acrescentar aqueles novos. Neste caso, nós adicionaremos aquelas variantes no método Random:

Chamado sem parâmetros:    idêntico ao corrente método Math.Random
Chamado com 1 parâmetro:  igual à função random() original
Chamado com 2 parâmetros: retorna um número inteiro inclusive
                                       dentro da variação especificada

O código de sobrecarga neste exemplo é cortesia de Robert Penner.

mathTest = new Object();
mathTest.__proto__=Math;
mathTest.oldRand=Math.random;
mathTest.random = function () {
var a = arguments;

if (a.length == 0) {
return Math.oldRand();
} else if (a.length == 1) {
return Math.floor(a[0] * Math.oldRand());
} else if (a.length == 2) {
return Math.floor(Math.oldRand() * (a[1]-a[0])+1) + a[0];
}
}
Object.prototype.Math=mathTest;

// example of use:
for (i=0;i<10;i++) {
a = Math.random();
b = Math.random(10);
c = Math.random(24, 35);
trace("random, no params: " + a + " random(10): " + b + " random(24,35): " + c);
}

   Uma palavra de alerta acerca da utilização dessa técnica (redefinir métodos de um objeto residente utilizando a classe Objeto), de Wouter Van den Broek:

A grande diferença entre o Object.prototype.Math residente e um Math personalizado montado por código como esse é que, quando montar seu Math personalizado, esse objeto Math então irá aparecer em loops "for-in" em objetos e arrays e irá corromper objetos XML. ACK v1 por exemplo depende pesadamente desses loops "for-in", e qualquer coisa que funcione com XML dará resultados precários. Então, é muito melhor montar o objeto Math em um MovieClip.prototype ao invés de em um Object.prototype, e é meramente uma necessidade não tocar o Object.prototype se você deseja/planeja utilizar coisas como ACK. Entretanto, o problema menor será que, quando você chamar o Math de dentro de complicados objetos-métodos alojados você poderá encerrar a utilização do Math antigo. Não existe solução genérica para isso.

Em seguida está uma olhada no básico de alguns dos objetos mais comumente utilizados no Flash 5.

Objeto MovieClip

O Movieclip é provavelmente o objeto mais usado em Actionscript. Para fazer mudança de cor, tamanho, posição, rotação, transparência, número de instâncias, ou a escala dinamicamente, ele precisa ser criado como um Movieclip. Movieclips tanto podem ser objetos estáticos quanto animados (multi-frame). Em ambos os casos, se aplicam as mesmas propriedades e métodos ao objeto de animação, e às regras de endereçamento.

Objeto Date

O objeto Date permite que a data e hora corrente configurada na máquina onde a animação Flash esteja rodando seja lida. Vários métodos estão associados com esse objeto o que permite que ele seja formatado, e que datas relativas sejam calculadas.

Objetos Color

A cor de qualquer animação pode ser modificada enquanto roda com o método "setRGB" do objeto Color. Tudo que você precisa para fazer isso é criar uma solicitação de objeto Color que se refira à sua animação e que configure a cor.

Objeto Math (Math Object)

O Objeto Math dá a você acesso a funções para calcular valores exatos como seno, co-seno e tangente, encontrar ângulos para linhas específicas, mover objetos a um ângulo especificado, bem como criar números aleatórios e executar outros cálculos matemáticos. Bom para um zilhão de coisas, de padrões e plotagens até jogos.

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