Foros del Web » Creando para Internet » Flash y Actionscript »

Modificar menu tipo Mac OSX

Estas en el tema de Modificar menu tipo Mac OSX en el foro de Flash y Actionscript en Foros del Web. Hola de nuevo a todos, consegui un ejemplo de un menu tipo Mac OSX esta genial . Funciona a la perfección , Pero me gustaria ...
  #1 (permalink)  
Antiguo 07/12/2007, 12:14
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Modificar menu tipo Mac OSX

Hola de nuevo a todos, consegui un ejemplo de un menu tipo Mac OSX esta genial .


Funciona a la perfección , Pero me gustaria hacerle una modificacion al codigo y no se como .


Aqui va el problema :

El menu tiene 10 opciones, cada una con nombre de instancia 1, 2, 3...10 , en el codigo usa una variable llamada i para relacionar el numero de cada opcion del menu.

El codigo completo es este:

Código:
onClipEvent(load){
	_quality = "BEST";
	var margin = 2;			// tray margin
	var min = 32;			// icon size at its smallest
	var max = 72;			// icon size at its largest
	var span = 2.25 * min;		// radius of influence
	var spacing = min + 1;	// icon spacing
	var n = 10;				// number of icons
	var speed = 0.25;

	var _MC = Math.cos;
	var _MS = Math.sin;
	var _s = max - min;
	var state = 0;
	var piSpan = Math.PI / span;
	var center = new Array();
	for(i = 1; i <= n; i++){
		this[i]._y = - margin;
		center[i] = (2 * i - n - 1) * spacing / 2;
	}
	tray._height = min + 2 * margin;
	this._alpha = 0;
}

onClipEvent(enterFrame){
	if(this._alpha < 100) this._alpha += 10;
	if (state == 0 || state == 1) temp = false; else temp = true;
	if(inside) state = Math.min(1, state + 0.2); else state = Math.max(0, state - 0.2);
	if(x != _xmouse || y != _ymouse || temp) {

		var x = _xmouse;
		var y = _ymouse;
		var x1 = tray._x;
		var x2 = x1 + tray._width;

		if(!temp){
			if( x < x1 || x > x2 || Math.abs(y) > altitude ) inside = false; else inside = true;
		}

		var altitude = min + 2 * margin + _s * state;

		for(i = 1; i <= n; i++){
			lo = center[i] - state * span;
			hi = center[i] + state * span;

			if(x <= lo) iX = hi;	// mouse on the left, icon to the right
			if(x >= hi) iX = lo;	// mouse on the right, icon to the left

			if(x > lo && x < hi) {		// icon is influenced by mouse
				fi = piSpan * (hi - x);					 		// 0..2pi
				cfi = _MC(fi / 2);								// 1..-1
				sfi = _MS(fi) / 20;								// horizontal compensation
				iX = center[i] - state * span * (cfi + sfi);	// centrum ± span
				iSize = _s * (1 - cfi * cfi);		 			// icon resize
			} 
			else iSize = 0;
			_scale = 100 * (min + state * iSize)/128;
			this[i]._xscale = this[i]._yscale = _scale;
			this[i]._x = iX;
		}
		tray._width = this[n]._x - this[1]._x + this[1]._width/2 + this[n]._width/2 + 2 * margin;
		tray._x = this[1]._x - this[1]._width/2 - margin;
	}
}

La modificacion que quiero hacer es, que en lugar de usar un numero de instancia en cada opcion del menu, use un nombre; por ejemplo:

que la opcion 1, se llama btn1.

he intentado modificar el codigo en las opciones donde se utiliza la variable i haciendo esto:

"btn" + i

Pero no consigo resultados ni errores, solo no ejecuta el menu.


Como podria modificar el codigo de tal manera que pueda usar nombres de instancia como btn1, btn2, btn3..... btn10 .


les dejo el meno para que lo chequen y lo puedan tener:

***.leonardosco.com/Menu_tipo_MAC.zip

De antemano muchas gracias a todos los que leen el post
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #2 (permalink)  
Antiguo 07/12/2007, 13:58
Avatar de SinguerInc  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 551
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: Modificar menu tipo Mac OSX

["btn"+i]

saludos.
__________________
/blog.singuerinc.com
  #3 (permalink)  
Antiguo 07/12/2007, 14:03
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

justamente es lo que he estado haciendo en todas las partes donde esta usandose la variable i.


justamente como lo indicas ["btn" + i], bueno ahora que lo notó. Yo he usado espacios, sera por ese detalle?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #4 (permalink)  
Antiguo 07/12/2007, 14:07
Avatar de SinguerInc  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 551
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: Modificar menu tipo Mac OSX

espacios donde?
__________________
/blog.singuerinc.com
  #5 (permalink)  
Antiguo 07/12/2007, 15:55
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

espacios entre ["btn" AQUI + AQUI i]

Pero ya cheque de esa manera y no funciona sigo sin poder asignarle un nombre de instancia y que funcione.
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #6 (permalink)  
Antiguo 07/12/2007, 15:59
Avatar de SinguerInc  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 551
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: Modificar menu tipo Mac OSX

has puesto tambien el "this" no?

this["btn"+i]
__________________
/blog.singuerinc.com
  #7 (permalink)  
Antiguo 07/12/2007, 16:15
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

claro

mira el codigo completo modificado ha sido asi :

Código:
onClipEvent(load){
	_quality = "BEST";
	var margin = 2;			// tray margin
	var min = 32;			// icon size at its smallest
	var max = 72;			// icon size at its largest
	var span = 2.25 * min;		// radius of influence
	var spacing = min + 1;	// icon spacing
	var n = 10;				// number of icons
	var speed = 0.25;

	var _MC = Math.cos;
	var _MS = Math.sin;
	var _s = max - min;
	var state = 0;
	var piSpan = Math.PI / span;
	var center = new Array();
	for(i = 1; i <= n; i++){
		this["btn"+i]._y = - margin;
		center["btn"+i] = (2 * i - n - 1) * spacing / 2;
	}
	tray._height = min + 2 * margin;
	this._alpha = 0;
}

onClipEvent(enterFrame){
	if(this._alpha < 100) this._alpha += 10;
	if (state == 0 || state == 1) temp = false; else temp = true;
	if(inside) state = Math.min(1, state + 0.2); else state = Math.max(0, state - 0.2);
	if(x != _xmouse || y != _ymouse || temp) {

		var x = _xmouse;
		var y = _ymouse;
		var x1 = tray._x;
		var x2 = x1 + tray._width;

		if(!temp){
			if( x < x1 || x > x2 || Math.abs(y) > altitude ) inside = false; else inside = true;
		}

		var altitude = min + 2 * margin + _s * state;

		for(i = 1; i <= n; i++){
			lo = center["btn"+i] - state * span;
			hi = center["btn"+i] + state * span;

			if(x <= lo) iX = hi;	// mouse on the left, icon to the right
			if(x >= hi) iX = lo;	// mouse on the right, icon to the left

			if(x > lo && x < hi) {		// icon is influenced by mouse
				fi = piSpan * (hi - x);					 		// 0..2pi
				cfi = _MC(fi / 2);								// 1..-1
				sfi = _MS(fi) / 20;								// horizontal compensation
				iX = center["btn"+i] - state * span * (cfi + sfi);	// centrum ± span
				iSize = _s * (1 - cfi * cfi);		 			// icon resize
			} 
			else iSize = 0;
			_scale = 100 * (min + state * iSize)/128;
			this["btn"+i]._xscale = this["btn"+i]._yscale = _scale;
			this["btn"+i]._x = iX;
		}
		tray._width = this[n]._x - this[1]._x + this[1]._width/2 + this[n]._width/2 + 2 * margin;
		tray._x = this[1]._x - this[1]._width/2 - margin;
	}
}
donde ya esta escrito this["btn"+i]


Seria una molestia si descargas el archivo y lo tratas de modificar tu y me dices si te funciona?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #8 (permalink)  
Antiguo 07/12/2007, 16:20
Avatar de SinguerInc  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 551
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: Modificar menu tipo Mac OSX

mmm, me mandas el fla?

info [aaaaaaarrrrrrooooobbbbbaaaaaaa] singuerinc.com

ok?
__________________
/blog.singuerinc.com
  #9 (permalink)  
Antiguo 07/12/2007, 16:28
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

enviado de cualquier manera, lo puedes descargar desde la siguente direccion:


***.leonardosco.com/Menu_tipo_MAC.zip


saludos, y de antemano muchas gracias por la ayuda.
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #10 (permalink)  
Antiguo 07/12/2007, 18:45
Avatar de SinguerInc  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 551
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: Modificar menu tipo Mac OSX

jeje, lo he visto...pues, si quieres escribir "btn" + i

tus iconos se tendran que llamar "btn1", "btn2", "btn3"...ahora se llaman "1", "2", "3"

igualmente lo hice, y funcionan solo los 5 primeros iconos...
ahora...yo me pregunto...porque no utilizas los numeros y listo!
__________________
/blog.singuerinc.com
  #11 (permalink)  
Antiguo 07/12/2007, 20:14
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

siii claro mis botones obviamente los cambio a btn1, btn2....

Y como decia en el principio tal cual como esta funciona a la perfeccion como esta.

Pero quiero modificar el codigo para poder ponerle esos nombre de instancia para implementar otro codigo para tooltips en cada boton.


Y para eso no me es posible hacer un codigo que pueda usar esos nombres de instancia necesito que no solo sea numero por que el codigo no funciona en sintaxis con solo numero.


por ejemplo uno de los codigos que usare :

1.rollOut de esa manera no me lo acepta, solo si lo pusiera asi: btn1.rollOut .

es por eso que quiciera cambiar los nombres de instancia.
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #12 (permalink)  
Antiguo 12/12/2007, 12:13
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Re: Modificar menu tipo Mac OSX

Alguien sabe la solucion ?

ó alguna otra opcion para modificar el Menu :(
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.