Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ch4p0L1N

em actionscript

Recommended Posts

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ço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.