Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, fiz um menu de fotos em actionscript mas estou com dificuldades em conseguir colocar o efeito espelhado que aparece na foto do meio nas fotos dos lados, vejam:
http://lemadesign.com.br/diego/
o código:
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.filters.GradientBevelFilter;
Stage.scaleMode = "noScale";
Stage.align = "left";
function porc(tipo,val) {
if(tipo = "x"){
var rad = val/1000;
poc = Math.round(rad*Stage.width);
}else if(tipo = "y"){
var rad = val/1000;
poc = Math.round(rad*Stage.height);
}
return poc;
}
function Smoot(target:MovieClip) {
var mcParent:MovieClip = target._parent;
var mcName:String = target._name;
var poc = porc(target._width,target._height);
var myBitmap:BitmapData = new BitmapData(target._width, target._height);
var myBitmaps:BitmapData = new BitmapData(target._width, target._height);
var target2:MovieClip;
wx = target._width;
hy = target._height;
myBitmap.draw(target);
myBitmaps.draw(target);
target.removeMovieClip();
target = mcParent.createEmptyMovieClip(mcName, mcParent.getNextHighestDepth());
target.attachBitmap(myBitmap,1,"auto",true);
target._x = -(target._width/2);
target._y = -(target._height/2);
var efeito:MovieClip;
var efeito2:MovieClip;
target2 = mcParent.createEmptyMovieClip(mcName+"s", mcParent.getNextHighestDepth());
target2.attachBitmap(myBitmaps,1,"auto",true);
efeito = target2.createEmptyMovieClip(mcName+"s2", target2.getNextHighestDepth());
fillType = "linear";
colors = [0xC1C0BF, 0xC1C0BF];
alphas = [100, 50];
ratios = [200, 255];
matrix = {matrixType:"box", x:0, y:0, w:wx, h:hy, r:90/180*Math.PI};
efeito.beginGradientFill(fillType,colors,alphas,ratios,matrix);
efeito.moveTo(0,0);
efeito.lineTo(wx,0);
efeito.lineTo(wx,hy);
efeito.lineTo(0,hy);
efeito.lineTo(0,0);
efeito.endFill();
target2._x = -(target._width/2);
target2._xscale = -100;
target2._y = ((target._height)+(target._height/2));
target2._rotation = 180;
}
var oXML:XML = new XML();
oXML.ignoreWhite = true;
function listaTitulos():Void {
var childs:XMLNode = oXML.firstChild;
var childTotal:Number = childs.childNodes.length;
_root.clips = Array(childTotal);
_root.desc = Array(childTotal);
var fig_car:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
for (var i = 0; i<childTotal; i++) {
var clip:String = String(childs.childNodes[i].childNodes[0].childNodes);
var descx:String = childs.childNodes[i].childNodes[1].childNodes;
_root.createEmptyMovieClip("botao"+i,i);
_root["botao"+i].createEmptyMovieClip("alinhar"+i,i);
fig_car.loadClip(clip,_root["botao"+i]["alinhar"+i]);
mclListener.onLoadInit = Smoot;
fig_car.addListener(mclListener);
clips[i] = _root["botao"+i]._name;
desc[i] = descx;
}
}
function posCircular(angulo, raio) {
var pos = new Object();
var rad = angulo*conversao;
pos.x = Math.sin(rad)*raio;
pos.y = Math.cos(rad)*raio;
return pos;
}
function montarFiguras() {
_root.raio = porc("x",350);
_root.alphaMinimo = -(50*clips.length);
_root.alphaMaximo = 100;
_root.escalaMinima = 0;
_root.escalaMaxima = porc("x",75);
_root.mouseSeguro = 100;
_root.difAlpha = alphaMaximo-alphaMinimo;
_root.difEscala = escalaMaxima-escalaMinima;
_root.xIni = (Stage.width-30)/2;
_root.yIni = (Stage.height-30)/2;
_root.dobroRaio = raio*2;
_root.conversao = Math.PI/180;
_root.difAngular = 360/clips.length;
_root.angulo = 0;
for (i=0; i<clips.length; i++) {
var ptr = _root[clips[i]];
ptr._y = yIni;
ptr.difAngular = difAngular*i;
var pos = posCircular(angulo+ptr.difAngular, raio);
ptr._x = xIni+pos.x;
var perc = (pos.y+raio)/dobroRaio;
ptr._alpha = perc*difAlpha+alphaMinimo;
ptr._xscale = ptr._yscale=perc*difEscala+escalaMinima;
ptr.swapDepths(pos.y+dobroRaio);
}
}
function movFiguras(q) {
if (q == 1) {
velocidade = -difAngular;
} else {
velocidade = difAngular;
}
angulo += velocidade;
for (i=0; i<clips.length; i++) {
var ptr = _root[clips[i]];
ptr._y = yIni;
ptr.difAngular = difAngular*i;
var pos = posCircular(angulo+ptr.difAngular, raio);
ptrx = xIni+pos.x;
var mov:Tween = new Tween(_root[clips[i]], "_x", Back.easeOut, ptr._x, ptrx, 1, true);
var perc = (pos.y+raio)/dobroRaio;
ptralpha = perc*(difAlpha+50)+alphaMinimo;
var mov:Tween = new Tween(_root[clips[i]], "_alpha", Back.easeOut, ptr._alpha, ptralpha, 1, true);
ptrscale = perc*difEscala+escalaMinima;
var mov:Tween = new Tween(_root[clips[i]], "_xscale", Back.easeOut, ptr._xscale, ptrscale, 1, true);
var mov:Tween = new Tween(_root[clips[i]], "_yscale", Back.easeOut, ptr._yscale, ptrscale, 1, true);
prtswap = Math.round(pos.y+dobroRaio);
if (_root[clips[i]]._alpha<=100) {
ptr.swapDepths(pos.y+dobroRaio-50);
} else {
ptr.swapDepths(pos.y+dobroRaio);
}
_root.masc.swapDepths(_root.getNextHighestDepth());
if (prtswap >= porc("x",1050)) {
_root[clips[i]].useHandCursor = true;
_root[clips[i]].id = i;
_root[clips[i]].onRollOver = function() {
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, porc("x",100), 1, true);
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, porc("x",100), 1, true);
var my_fmt:TextFormat = new TextFormat();
my_fmt.bold = false;
my_fmt.font = "Arial";
my_fmt.color = 0x92393d;
_root.createTextField("desc_t",1000,(Stage.width-250)/2,(Stage.height-50),250,500);
_root.desc_t.setNewTextFormat(my_fmt);
_root.desc_t.html = _root.desc[this.id];
_root.desc_t.htmlText = _root.desc[this.id];
};
_root[clips[i]].onRollOut = function() {
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, porc("x",80), 1, true);
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, porc("x",80), 1, true);
_root.desc_t.removeTextField();
};
} else {
_root[clips[i]].useHandCursor = false;
_root[clips[i]].onRollOver = function() {
};
_root[clips[i]].onRollOut = function() {
};
}
}
}
function add_bt() {
_root.createEmptyMovieClip("bt_ir",50000);
_root.bt_ir.attachMovie("bt","bt_ir",50000);
_root.bt_ir._x = Stage.width-20;
_root.bt_ir._y = Stage.height/2-20;
_root.bt_ir._xscale = bt_ir._yscale=50;
_root.bt_ir.onPress = function() {
movFiguras(1);
};
_root.bt_ir.onRollOver = function() {
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, 75, 1, true);
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, 75, 1, true);
};
_root.bt_ir.onRollOut = function() {
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, 50, 1, true);
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, 50, 1, true);
};
_root.createEmptyMovieClip("bt_volta",50001);
_root.bt_volta.attachMovie("bt","bt_volta",50001);
_root.bt_volta._x = 20;
_root.bt_volta._y = Stage.height/2-20;
_root.bt_volta._rotation = 180;
_root.bt_volta._xscale = bt_volta._yscale=50;
_root.bt_volta.onPress = function() {
movFiguras(2);
};
_root.bt_volta.onRollOver = function() {
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, 75, 1, true);
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, 75, 1, true);
};
_root.bt_volta.onRollOut = function() {
var mov:Tween = new Tween(this, "_yscale", Back.easeOut, this._yscale, 50, 1, true);
var mov:Tween = new Tween(this, "_xscale", Back.easeOut, this._xscale, 50, 1, true);
};
}
oXML.onLoad = function(success:Boolean):Void {
if (success) {
if (oXML.status == 0) {
listaTitulos();
montarFiguras();
movFiguras(2);
add_bt();
}
}
};
oXML.load("moments.xml");
se alguém puder me ajudar, eu agradeçoCarregando comentários...