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

Mení dinámico con as3

Estas en el tema de Mení dinámico con as3 en el foro de Flash y Actionscript en Foros del Web. Buenas tardes para todos Encontre un código que hace un menú dinamico que me carga uno links Pero yo deso que me vaya a la ...
  #1 (permalink)  
Antiguo 07/02/2011, 15:33
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 9 meses
Puntos: 9
Pregunta Mení dinámico con as3

Buenas tardes para todos

Encontre un código que hace un menú dinamico que me carga uno links
Pero yo deso que me vaya a la línea de tiempo a diferentes fotogramas

Cita:
/
stop();
//
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

//
var menu_array:Array = new Array();
menu_array.push({label:"Nombre 1",ver:"uno.html"});
menu_array.push({label:"Nombre 2",ver:"dos.html"});
menu_array.push({label:"Nombre 3",ver:"tres.html"});
menu_array.push({label:"Nombre 4",ver:"cuatro.html"});

var bt;
var posX=150;
var posY=150;

//
for (var i:int; i < menu_array.length; i++) {
bt = this.addChild(new btMenu());
bt.x = posX;
bt.y = posY;
bt.campo_txt.text=menu_array[i].label;
bt.mouseChildren=false;
bt.link=menu_array[i].ver;
bt.buttonMode=true;
bt.addEventListener(MouseEvent.CLICK,handleClick);
bt.addEventListener(MouseEvent.MOUSE_OVER,handleMo useOver);
bt.addEventListener(MouseEvent.MOUSE_OUT,handleMou seOut);
//posX += bt._back.width+1;
posY+=bt._back.height+10;
}

function handleMouseOver(e:MouseEvent) {
e.target._back.gotoAndPlay(2);
}

function handleMouseOut(e:MouseEvent) {
e.target._back.gotoAndPlay(11);
}

function handleClick(e:MouseEvent) {
navigateToURL(new URLRequest(e.target.link));
}
Que debo agregar para ir a distintos fotogramas en vez de cargar links?

Gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #2 (permalink)  
Antiguo 09/02/2011, 07:36
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 9 meses
Puntos: 9
Respuesta: Menú dinámico con as3

Hola
Trato de hacerlo así pero no me funciona:

Creo un botón con nombre de instancia "btn"

Code:
Cita:
//
var numBotones:Number=5;
//
for (var i:uint = 1; i <= numBotones; i++) {
this["btn"+i].addEventListener(MouseEvent.CLICK,clicBoton);
}

function clicBoton(e:MouseEvent):void {

var nombre:String=e.currentTarget.name;
var num:uint=uint(nombre.replace("btn",""));

gotoAndStop(num + 1);

}
pero me sale error, no me funciona.
Que tengo malo

Gracias por su ayuda
__________________
Diseñador Gráfico publicitario

Última edición por ceaped; 09/02/2011 a las 07:41
  #3 (permalink)  
Antiguo 10/02/2011, 15:31
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 9 meses
Puntos: 9
Pregunta Respuesta: Menú dinámico con as3

Para los interesado ya hice el primer menú y es así:

Aca pones nombres de etiquetas (en vez de uno.html, dos.html, tre.html, cuatro.html):

Cita:
var menu_array:Array = new Array();
menu_array.push({label:"Nombre 1",ver:"etiqueta1"});
menu_array.push({label:"Nombre 2",ver:"etiqueta2"});
menu_array.push({label:"Nombre 3",ver:"etiqueta3"});
menu_array.push({label:"Nombre 4",ver:"etiqueta4"});
Y en la parte final del código donde dice:

Cita:
function handleClick(e:MouseEvent) {
navigateToURL(new URLRequest(e.target.link));
}
Pones así:

Cita:
function handleClick(e:MouseEvent) {
gotoAndStop(e.target.link);
}
}
Recuerda poner en una capa los nombres de etiquetas así:
etiqueta1
etiqueta2
etiqueta3
etiqueta4

Otro dato es que se deben crear 2 clip:

*btMenu = clic derecho > propiedades > Clase: btMenu y Clase base: flash.display.MovieClip
btMenuBack

*btMenu es un clip con un campo de texto dinámico con nombre de instancia "campo_txt"

*btMenuBack contiene una animación básica


Nota: Este ejercicio NO es de mi autoria. No recuerdo de donde lo saque. Sí lo vuelvo a ver pongo la referencia.

Y listo
Espero les sirva
__________________
Diseñador Gráfico publicitario

Etiquetas: Ninguno
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 16:11.