Gracias Gracias:  0
Resultados 1 al 2 de 2

Tema: Codigo sencillo en aS3 que no funciona

  1. #1
    Miembro Nuevo
    Fecha de ingreso
    Feb 2008
    Mensajes
    2

    Código sencillo en AS3 que no funciona

    Buenas tardes, estoy programando un código en principio bastante sencillo en Actioscript 3.0, pero no consigo que funcione totalmente como yo quiero.

    El clip consta de 96 frames con un stop(); en los frames 1, 24, 48, 72 y 96. El código es el siguiente:

    Código:
    //variables para manejo de la 1º sección 
    var abrirSec1:Number = 2; 
    var ultimoSec1:Number = 24; 
    var cerrarSec1:Number = 25; 
     
    //variables para manejo de la 2º sección 
    var abrirSec2:Number = 49; 
    var ultimoSec2:Number = 72; 
    var cerrarSec2:Number = 73; 
     
    //Funcion abrir para el botón 1 
    function abrirBoton1(e:Event) : void 
    { 
     if (this.currentFrame == 1) 
     { 
     gotoAndPlay(abrirSec1); 
     } 
     
     if (this.currentFrame == ultimoSec2) 
     { 
     gotoAndPlay(cerrarSec2); 
     gotoAndPlay(abrirSec1); 
     } 
    } 
     
    //Funcion abrir para el botón 2 
    function abrirBoton2(e:Event) : void 
    { 
     if (this.currentFrame == 1) 
     { 
     gotoAndPlay(abrirSec2); 
     } 
     
     if (this.currentFrame == ultimoSec1) 
     { 
     gotoAndPlay(cerrarSec1); 
     gotoAndPlay(abrirSec2); 
     } 
    } 
     
    //Listeners 
    botón1.addEventListener(MouseEvent.CLICK, abrirBoton1); 
    botón2.addEventListener(MouseEvent.CLICK, abrirBoton2);
    Basicamente tenemos un escenario con dos botones que abren dos secciones distintas del clip, si pulsamos en el botón 1 se abre la 1ª sección, si volvemos a pulsar ese botón no ocurre nada, ahora bien, si pulsamos en el botón 2 estando abierta la sección 1, pues ésta se cierra y se debe de abrir la sección 2.

    La sección 2 tiene el mismo comportamiento que la 1, si estando abierta la sección 2 pulsamos el botón 2, no pasa nada, pero si pulsamos en 1, la sección 2 se cierra y se abre la sección 1.

    ¿Que es lo que me occurre con mi código actual?, que estando en el frame 1, si pulsamos el botón 1 se abre la sección 1, pero si pulsamos el botón 2, no se cierra la sección 1, sino que se sitúa en el frame 1 y abre la sección 2.

    Simplificando, nunca entra en el segundo if de cada function, se comporta como si cada vez que pulsaramos un botón, lo hiciéramos desde el frame 1, cuando realmente los botones los podemos pulsar desde los frames 1, 24 y 49.

    Un saludo.

  2. #2
    Senior Member
    Fecha de ingreso
    May 2005
    Ubicación
    Colombia y Argentina
    Mensajes
    260

    Respuesta: Código sencillo en AS3 que no funciona

    probaste asignandole nombres de instancia a los frames en vez de usar variables?

    Código:
     if (this.currentFrame == ultimoSec2) 
     { 
     gotoAndPlay(cerrarSec2); 
     gotoAndPlay(abrirSec1); 
     }
    Esto es algo que no entiendo. No se puede ejecutar el play del timeline en un mismo bloque 2 veces. No tiene mucho sentido. Lo que si funcionaria es, por ejemplo para este caso, que se ejecute solo la primer línea y en el último frame poner el código de la segunda línea para que se ejecute ahí. O si se necesita que ambas acciones se ejecuten al mismo tiempo, entonces puedes usar instancias de cilp de película (es solo un método este). Con instancias quedaría algo así:

    Código:
     if (this.currentFrame == ultimoSec2) 
     { 
     miInstanciaX.gotoAndPlay(cerrarSec2); 
     }
    Saludos!!
    Última edición por Xian; 16-08-2009 a las 23:33

Temas similares

  1. Blender Código de barras
    Por Soliman en el foro Blender
    Respuestas: 0
    Último mensaje: 01-06-2016, 20:02
  2. Codigo matrix
    Por aprendiz en el foro Videojuegos
    Respuestas: 0
    Último mensaje: 17-11-2012, 20:59
  3. que es un codigo bueno
    Por cid978 en el foro Diseño Gráfico y CAD
    Respuestas: 1
    Último mensaje: 22-04-2010, 17:24
  4. El Codigo aparinci
    Por Klópes en el foro Cine
    Respuestas: 9
    Último mensaje: 20-04-2006, 19:25

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •