Ir para conteúdo

POWERED BY:

Arquivado

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

Diego Macêdo

Menu giratorial na horizontal

Recommended Posts

eu axo q eu consigo desbugar, mas tenho q DELETAR COMPLETAMENTE o script de profundidade q eu fiz, pq ficou uma m*****, ai fui remendando pra ir dando conta do recado, resultado: ficou um baguio doido q nem eu sei + ond mexer pra arrumar rs......... intaum eh só deletar ele e começar dnovo com outra lógica.. bom o meu códigozinho está ai:

 

import flash.filters.BlurFilter;import mx.transitions.Tween;_root.girando = true;xcenter = 0;mcMeio._x = xcenter;limiteMouse = 150;quadros = 10;y=175;maxspeed=1.5;radius=400;ycenter= -182;zcenter=200;angulo=[0, 36, 72, 108, 144, 180, 216, 252, 288, 324];speed = 0;fl=500;mover = function() {	scale=fl/(fl+z);	for (i:Number = 0; i < quadros; i++) {		with (eval("q"+i)) {			z=Math.sin(this.angulo[i]*Math.PI/180)*this.radius+this.zcenter;			scale=fl/(fl+this.z);			x=Math.cos(this.angulo[i]*Math.PI/180)*this.radius;			_x=x*scale+this.xcenter;			_y=y*scale+this.ycenter;			blur = new BlurFilter(0, 0, 2);			blur.blurX = (1 - scale)*3;			blur.blurY = (1 - scale)*3;			filters = [blur];			_alpha=scale*100;			_xscale= _yscale = scale*100;			this.angulo[i]+=-this.speed;			if(this.angulo[i]>359){				this.angulo[i]-=360;			}			if(_parent.angulo[i]<-359){				_parent.angulo[i]+=360;			}		}	} };gira = function() {	if (_root.girando) {		mcMeio.onEnterFrame = function() {			if (this._xmouse > -limiteMouse && this._xmouse < limiteMouse) {				novoS = (maxspeed*this._xmouse)/limiteMouse;			} else {				if (this._xmouse < 0) {					novoS = (maxspeed * -limiteMouse)/limiteMouse;				} else {					novoS = (maxspeed*limiteMouse)/limiteMouse;				}			}			speed = speed + ((novoS) - speed)*0.2;			mover();		}	} else {		delete mcMeio.onEnterFrame;	}}aguarda = function() {		if (_root.girando) {		mcMeio.onEnterFrame = function() {			speed = speed + (((0.3*this._xmouse)/limiteMouse) - speed)*0.2;			//speed = (0.2*this._xmouse)/limiteMouse;			mover();		}	} else {		delete mcMeio.onEnterFrame;	} }define = function() {	gira();	for (cont:Number = 0; cont < quadros; cont++) {		eval("q"+cont).enabled = true;		eval("q"+cont).swapDepths(cont);		eval("q"+cont).onRollOver = function() {			aguarda();			this.over = true;			this.play();		}		eval("q"+cont).onRollOut = eval("q"+cont).onReleaseOutside = function() {			gira();			this.over = false;			this.play();		}		eval("q"+cont).local = "q"+cont;		eval("q"+cont).onRelease = function() {			_root.girando = false;			limpa();			//*EDITADO* AQUI SÃO AS AÇÕES QUANDO CLICA NUM ITEM		}	}}limpa = function() {	for (cont:Number = 0; cont < quadros; cont++) {		delete mcMeio.onEnterFrame;		eval("q"+cont).enabled = false;	}}profund.onEnterFrame = function() {	for (i:Number = 0; i<quadros; i++) {		if (eval("q"+i).hitTest(eval("q"+(i-1))) || eval("q"+i).hitTest(eval("q"+(i+1)))) {			if (eval("q"+i)._xscale > eval("q"+(i+1))._xscale || eval("q"+i)._xscale < eval("q"+(i-1))._xscale) {				prof = eval("q"+(i+1)).getDepth()+1;				if (i == quadros-1) {					prof = eval("q"+(i-1)).getDepth()-1;				}				eval("q"+i).swapDepths(prof);			} else {				prof = eval("q"+i).getDepth()+2;				eval("q"+(i+1)).swapDepths(prof);				if (i == quadros-1) {					prof = eval("q"+(i-1)).getDepth()+1;					eval("q"+i).swapDepths(prof);				}			}		}			}}

 

solução: deletar função profund e começar dinovo rsrs....

se vcs quiserem ajudar =] seria uma boa, assim ficamos todos felizes!

 

Eder, você parece que entende bem do assunto 'the flash master' x)

dah uma sugestão ai pragente!

 

bom, mas c nao estiver desbugado isso amanhã eu pego pra analizar o código e tentar resolver! agora estou em outro projeto!

 

Abraços a todos !!! espero que gostem =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

eder,

bem interessante sua idéia de usar

var ptr = _root[clips];

 

para simplificar a referencia, nao tinha pensado nisso, dah pra melhorar um pouco meu código com isso.

agora, olhei o código q você usou pra fazer o swapDepth mas nao entendi exatamente a lógica, axo q eu meio lesado hj rs, c poderia me dar uma luz? :D

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.