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

llamar dinamicamente a una instancia

Estas en el tema de llamar dinamicamente a una instancia en el foro de Flash y Actionscript en Foros del Web. Hola a todos; ¿Cómo puedo llamar dinámicamente a una instancia (mc o botón) que cambia su nombre dependiendo de una variable (es para controlar los ...
  #1 (permalink)  
Antiguo 13/10/2006, 05:08
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
llamar dinamicamente a una instancia

Hola a todos;

¿Cómo puedo llamar dinámicamente a una instancia (mc o botón) que cambia su nombre dependiendo de una variable (es para controlar los botones de una botonera y activar unos y desactivar el que acabo de pulsar)?.

He probado con esto:

botonactivo=1;
_root.boton+botonactivo+_btn.enabled=1;


y con esto:

botonactivo=1;
_root.boton+"botonactivo"+_btn.enabled=1;

y la ruta que quiero hacer con esto es: _root.boton1_btn.enabled=1;


pero no funciona. Si me pudiérais ayudar, muchas gracias.
__________________
:'(

Última edición por jraluy; 13/10/2006 a las 06:23
  #2 (permalink)  
Antiguo 13/10/2006, 08:27
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 5 meses
Puntos: 6
botonactivo=1;
_root["boton"+botonactivo+"_btn"].enabled=1;

Creo que con eso basta...

__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 13/10/2006, 09:36
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
Fridureiks, no me funciona.

He probado a poner un punto entre _root y ["boton"+botonactivo+"_btn"].enabled=1; pero tampoco funciona.
En lugar de:
_root["boton"+botonactivo+"_btn"].enabled=1;

He probado tambíen con esto:
_root.["boton"+botonactivo+"_btn"].enabled=1;

Y tampoco funciona.

De todas maneras gracias por contestar. Si me podéis indicar alguna web en la que encontrar información os lo agradecería. Llevo buscando en este foro y en varios sitios, también en la ayuda de flash y de momento no he encontrado nada.
__________________
:'(
  #4 (permalink)  
Antiguo 13/10/2006, 09:48
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 5 meses
Puntos: 6
Con que version estàs trabajando?

Pues el enabled=1 no funciona en todas...

_root["boton"+botonactivo+"_btn"].enabled=false;

_root["boton"+botonactivo+"_btn"].enabled=true;
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 13/10/2006, 10:25
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
Estoy haciéndolo con Flash 8. Estoy todavía probando y buscando en la ayuda pero no me funciona. Si doy la orden a un botón concreto, por ejemplo:

_root.boton1_btn.enabled=1;

funciona.

Pero si lo hago hacia ese mismo botón de esta forma:

botonactivo=1;
_root["boton"+botonactivo+"_btn"].enabled=1;

no funciona.
__________________
:'(
  #6 (permalink)  
Antiguo 13/10/2006, 10:33
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 5 meses
Puntos: 6
Primero, no uses 1 o 0, usa true o false.

Segundo, que es lo que no te funciona? porque yo lo estoy probando y si funciona... colocalo como yo lo puse, con true para activar y con false para desactivar.

Y por otro lado, te fijaste si el boton que tratas de activar esta desactivado? porque si ya esta activo... xD
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 13/10/2006, 10:51
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
Te paso el código para que lo veas, a ver qué puedes ver mal

FUNCIONA (pero sin hacerlo dinámicamente con lo que sólo controlo 2 botones en este momento):
Código PHP:
if (botonactivo != 1) {
    
botonera_mc.zonaactiva1_btn.onRelease = function() {
        if (
animacion == 1) {
            
contenido_mc.loadMovie('seccion1.swf');
            
botonera_mc.boton1_mc.mariposa_mc.gotoAndPlay('s2');
            
botonera_mc.boton2_mc.mariposa_mc.gotoAndStop('s1');
            
botonera_mc.zonaactiva1_btn.enabled false;
            
botonera_mc.zonaactiva2_btn.enabled true;
            
botonactivo 1;
        }
    };
}
if (
botonactivo != 2) {
    
botonera_mc.zonaactiva2_btn.onRelease = function() {
        if (
animacion == 1) {
            
contenido_mc.loadMovie('seccion2.swf');
            
botonera_mc.boton2_mc.mariposa_mc.gotoAndPlay('s2');
            
botonera_mc.boton1_mc.mariposa_mc.gotoAndStop('s1');
            
botonera_mc.zonaactiva2_btn.enabled false;
            
botonera_mc.zonaactiva1_btn.enabled true;
            
botonactivo 2;
        }
    };

----------------------------------------------


NO FUNCIONA (lo he hecho tal y como me has dado el ejemplo - no sé qué puede fallar):

Código PHP:
if (botonactivo != 1) {
    
botonera_mc.zonaactiva1_btn.onRelease = function() {
        if (
animacion == 1) {
            
contenido_mc.loadMovie('seccion1.swf');
            
botonera_mc.boton1_mc.mariposa_mc.gotoAndPlay('s2');
            
botonera_mc["boton"+botonactivo+"_btn"].mariposa_mc.gotoAndStop('s1');
            
botonera_mc.zonaactiva1_btn.enabled false;
            
botonera_mc["zonaactiva"+botonactivo+"_btn"].enabled true;
            
botonactivo 1;
        }
    };
}
if (
botonactivo != 2) {
    
botonera_mc.zonaactiva2_btn.onRelease = function() {
        if (
animacion == 1) {
            
contenido_mc.loadMovie('seccion2.swf');
            
botonera_mc.boton2_mc.mariposa_mc.gotoAndPlay('s2');
            
botonera_mc["boton"+botonactivo+"_btn"].mariposa_mc.gotoAndStop('s1');
            
botonera_mc.zonaactiva2_btn.enabled false;
            
botonera_mc["zonaactiva"+botonactivo+"_btn"].enabled true;
            
botonactivo 2;
        }
    };


Ah, y gracias por estar ayudándome...
__________________
:'(
  #8 (permalink)  
Antiguo 13/10/2006, 10:56
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
Vale, he probado en un documento nuevo con el ejemplo que me has dado y funciona lo que me has dicho, pero en mi documento no va. Algo debe pasar y no sé qué es.
__________________
:'(
  #9 (permalink)  
Antiguo 13/10/2006, 11:18
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
No te vuelvas loco, Fridureiks, con mi código porque ya funciona, no sé qué estaba pasando pero va. Muchas gracias por tu tiempo
__________________
:'(
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 04:58.