| Autor: |
Flash Web Training |
| Data de
Publicação: |
15/11/2003 |
|
|
Este tutorial visa tentar ensinar-vos de como criar no Flash MX, movimentos
aleatórios de objectos. Por vezes isto pode-nos dar alguma ajuda
para criação de projectos, jogos, animações,
introduções, etc. Recorrendo a um pouco de programação,
vamos ensinar-vos de como este efeito poderá ser conseguido.
Clique com o botão direito do rato sobre o
filme para visualizar o menu de opções
Downloads:
1. Comecemos por criar um novo projecto no Flash MX.
Este projecto não necessitas de dimensões específicas,
por isso criem consoante as vossas necessidades.
2. Vamos de seguida criar no Flash. Pode ser uma esfera,
um rectângulo ou simplesmente uma imagem que vos interesse, e que
deverá ser importada. Após terem criado ou terem importado
a vossa imagem, deverão converte-la para Movie Clip. Quando nos
for pedido um nome, deverão dar um nome que vocês pretendam.
Não esquecer que para converter um objecto a Movie Clip, deverão
clicar sobre o objecto e pressionar de seguida a tecla de F8. No nosso
caso decidimos importar uma imagem e convertê-la. Para esta conversão
demos o nome de cone.

3. Depois de terem convertido o vosso objecto, deveremos
clicar com o botão direito do rato, sobre a frame 1 do da vossa
layer 1. Vamos escolher a opção de Actions, para nos ser
activo o painel das Actions. Necessitamos então de copiar o seguinte
código para o nosso painel de Actions de modo a começarmos
a dar animação ao nosso projecto.
function getdistance(x, y, x1, y1) {
var run, rise;
run = x1-x;
rise = y1-y;
return (_root.hyp(run, rise));
}
function hyp(a, b) {
return (Math.sqrt(a*a+b*b));
}
MovieClip.prototype.reset = function() {
width = 300;
height = 200;
var dist, norm;
this.x = this._x;
this.y = this._y;
this.speed = Math.random()*4+2;
this.targx = Math.random()*width;
this.targy = Math.random()*height;
dist = _root.getdistance(this.x, this.y, this.targx, this.targy);
norm = this.speed/dist;
this.diffx = (this.targx-this.x)*norm;
this.diffy = (this.targy-this.y)*norm;
};
MovieClip.prototype.move = function() {
if (_root.getdistance(this.x, this.y, this.targx, this.targy)>this.speed)
{
this.x += this.diffx;
this.y += this.diffy;
} else {
this.x = this.targx;
this.y = this.targy;
if (!this.t) {
this.t = getTimer();
}
if (getTimer()-this.t>1000) {
this.reset();
this.t = 0;
}
}
this._x = this.x;
this._y = this.y;
};
4. Vamos de seguida clicar com o botão direito
do rato, sobre o Movie Clip que acabamos de criar e vamos escolher de
novo a opção de Actions. Vamos uma vez mais ter de copiar
o seguinte código para o nosso painel de Actions.
onClipEvent(enterFrame){
move();
}
5. Agora que já conseguimos criar a nossa animação,
vamos copiar quantas vezes quisermos o nosso Movie Clip dentro da nossa
Stage, criando assim um movimento aleatório, mas com variados objectos.
6. Para finalizarmos este tutorial, vamos testar a nossa
animação criada. Para tal deveremos pressionar simultaneamente
ambas teclas de Ctrl+Enter.
|