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

[SOLUCIONADO] Botonera en AS2

Estas en el tema de Botonera en AS2 en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un libro hecho en flash, y se necesita hacer un indice, si alguien me puede ayudar con una funcion para realizarlo, ya que ...
  #1 (permalink)  
Antiguo 01/06/2015, 14:24
 
Fecha de Ingreso: febrero-2015
Ubicación: Verona
Mensajes: 8
Antigüedad: 9 años, 9 meses
Puntos: 0
Botonera en AS2

Hola, tengo un libro hecho en flash, y se necesita hacer un indice, si alguien me puede ayudar con una funcion para realizarlo, ya que el indice contiene mas de 300 botones que enlaza a distintos frames dentro del flash, pero no es numeracion secuencial, ejemplo:
boton1- pagina3
boton2- pagina5
boton3, pagina9
boton4, pagina17, etc, etc.

La una opcion seria hacer codigo para cada boton, pero esta bastante extenso, ejemplo
Código:
boton1.onRelease = function(){
contenido.gotoAndStop(3);

boton2.onRelease = function(){
contenido.gotoAndStop(5);
}
Si alguien me puede ayudar porfa. Gracias
  #2 (permalink)  
Antiguo 10/06/2015, 08:01
 
Fecha de Ingreso: febrero-2015
Ubicación: Verona
Mensajes: 8
Antigüedad: 9 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Botonera en AS2

Señores, buen dia.
Doy solucion a este tema planteado.
Primero que nada, dar gracias a SargentoWeb.com, quien fue la persona que me dio las pautas para dar solucion, adjunto el codigo.

Los botones que tengo van a diferentes paginas, y no va en forma secuencial, pero yo en el Array de menus, le he puesto en forma secuencial, mas por la vagueria de escribir solo los numeros a los que debe ir jejejeje

Adjunto el codigo original que me envio SargentoWeb.com

Código:
Hay otra opción para poblar las acciones en todos los botones insertando código en un sólo lugar y es la siguiente:

1.- También en este caso deberás utilizar MovieClips.
2.- Nombra los MovieClips como mencionas: pag1, pag2, pag3, ..., pag637
3.- Inserta el siguiente código en la raíz de tu documento, en el fotograma donde aparezcan los botones:

// Iteramos entre la cantidad de botones ( MovieClips )
// el primer valor es el numero del primer botón ( en este caso 1 )
// el segundo valor será el número del último botón ( en este caso 637 )
for( b = 1; b <= 637; b++ ){
	// Obtenemos el objeto ( ej: pag2 ) y asignamos la función
	this[ 'pag' + b ].onRelease = function(){
		// Obtenemos el nombre del objeto
		var n:String = String( this._name );
		// Eliminamos los primeros 3 caracteres ( 'pag' )
		n = n.substring( 3, n.length );
		// llamamos el fotograma ( frame ) que necesitamos
		_root.gotoAndStop( int( n ) );
	}
}

Como estas dos soluciones podrás encontrar varias más, sin embargo creo que son suficientes para que te des una buena idea de cómo lograrlo.

Saludos

[ sargento ]
Adjunto el Codigo un poco arreglado a mi necesidad.....

Código:
///declaro el array con todas las paginas
var menus:Array = [pp, p1, p2, p3.... ];
function bt_menu()
{
////recorro el vector
	for (b = 1; b <= menus.length; b++)
	{
/////almaceno en vector
		var bt = menus[b];
		bt.onRelease = function()
		{
///// declaro una variable para los botones
			var n:String = String(this._name);
/////elimino la/s letras y obtengo solo el numero
			_global.num_pag = n.substring(1, n.length);
//// como es un libro, almaceno el numero de pagina para mostrar en la navegacion
			_root.navegacion = num_pag + "/" + total_pag;
//// me lleva hasta el frame que se hace clic
			_root.contenido.gotoAndStop(int(num_pag));
		};
	}
}
///ejecuto la funcion
bt_menu();
Listo, todo perfecto. Espero le salve el dia a alguien mas.
Saludos

Etiquetas: as2
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 17:01.