Esta
semana falaremos a respeito do efeito alpha controlado via actionscript.
Para
isso é interessante conhecer um pouco sobre funções. Uma função é um bloco
de código que pode ser re-usado quantas vezes quiser, associando-o a um
objeto modificando seus parâmetros, mas não sua definição.
Pegaremos
como exemplo um fato da vida real: uma guitarra.
function.guitarra(minhacor,minhamarca){
//aqui
é descrito a definição de minha guitarra e etc
} |
Como
trata-se de um objeto qualquer da vida real, pode ter sua cor e marca
diferentes.
guitarra.cor=minhacor;
guitarra.marca=minhamarca; |
Agora,
ao usar a função guitarra poderemos especificar qual a cor e a marca sem
alterar a definição da guitarra.
guitarra(azul,ibanez)
//
temos uma guitarra azul da marca ibanez
guitarra(preta,gibson)
//
temos uma guitarra preta da marca gibson |
Note que os parâmetros mudam mas a definição, não.
Agora
falaremos sobre protótipo. O protótipo é uma maneira de organizar a função
e suas classes, podendo usá-lo em qualquer lugar e a qualquer momento.
Há
vários tipos de protótipos - string, array, math... E neste caso iremos
usar Movieclip.prototype, para um objeto movie clip.
Criaremos
um protótipo que mude a propriedade _alpha conforme a distância do cursor
para o objeto movie clip.
Crie
um filme de tamanho qualquer com duas camadas e apenas um frame cada:
acoes:
No
primeiro e único frame, insira o seguinte código:
Movieclip.prototype.alfa=function(limitedistancia,incremento){
xm=_root._xmouse;
ym=_root._ymouse;
distancia=Math.sqrt (((xm-this._x)*(xm-this._x)+(ym-this._y)*(ym-this._y)));
if(distancia<=limitedistancia){
if(this._alpha<=100){
this._alpha+=incremento;
}
}else{
if(this._alpha>=0){
this._alpha-=incremento ;
}
}
} |
"limitedistancia"
é a distância mínima para modificar a propriedade _alpha do objeto.
"incremento"
é o incremento da propriedade _alpha quando a distância for alcançada.
"xm"
é uma variável que irá orientar a coordenada _x do mouse.
"ym"
é uma variável que irá orientar a coordenada _y do mouse.
objeto:
Crie
um objeto movie clip e o instancie de "objeto" sem áspas.
Clicando
em cima do movie clip, abra o painel de ações e insira as seguintes linhas:
onClipEvent
(load) {
this._alpha=0;
}
onClipEvent (enterFrame) {
this.alfa(100,5);
} |
Ao
carregar o movie clip, a propriedade _alpha tem o valor igual a 0, fazendo
o movie clip invisível.
Logo
abaixo, temos dois valores - 100 e 5 - o primeiro significa a distância
mínima para o incremento da propriedade _alpha. O seugundo valor é o próprio
incremento, isto é, a propriedade _alpha irá subindo e baixando de cinco
em cinco.
|