Desactivar botones de otros niveles

Pues eso. Llevo leyendo internet y haciendo pruebas toda la ncohe... :@
on (release) {
	/*clip_mc = */_root.createEmptyMovieClip("galeria", 3);
	_root.galeria._x = 46;
	_root.galeria._y = 126
	_root.galeria.loadMovie("exteriores.swf")
	//galeria.swapDepths(3);
	//galeria.loadMovie("exteriores.swf");
}
 
Os dejo también lo que tengo puesto como comentario... He intentado muchísimas cosas, pero ya no se que hacer para que cuando me cargue el SWF no active los "botones" que tengo en el nivel 0 (en realidad tengo MC con botones "invisibles y texto debajo" dentro).
He leído que cargando el swf con loadMovie en un MC que creas no da problemas, pero lo he hecho y aun se me muestran activados los botones de debajo... :@
Muchas gracias por vuestra ayuda. ;)
Saludos

1 Respuesta

Respuesta
1
¿Cómo andas?
Te diría que pruebes con dos cosas:
La primera es que uses la propiedad "visible" para ocultar el botón que en tu caso es invisible entonces la sentencia te quedaría así:
miBoton._visible = false;
y cuando necesitas usar los botones de vuelta:
miBoton._visible = true;
Sino podes hacer lo mismo pero con la propiedad "enabled", que es la propiedad que habilita o deshabilita el funcionamiento del botón, la diferencia es que solamente lo deshabilita, pero el botón si llegase a tener relleno se va a seguir viendo:
miBoton.enabled = false;
para volverlo a usar:
miBoton.enabled = true;
Muchas gracias por la contestación.
Eso ya lo he probado. Ademas, lo he probado haciendo nombreinstanciaBoton.enabled = false;
Con el nombre del botón lo he probado, pero seguro que no funciona, ya que contiene espacios (but home)
¿Para desactivar el MC que contiene el botón hay algún comando?
Saludos
Para ayudarte, dándote más aclaraciones de lo que tengo, decir que yo cargo con el loadmovie en el nivel 3 como puedes observar, pero he probado a hacer but.swapDepths(4); (but es el nombre de instancia de mi botón) pero es que no lo lleva al nivel 4, osea, no se muestra por encima del swf que cargo...
Eso quiere decir que no detecta el botón. ¿No hay manera de que lo localice y le afecten los comandos que pongo en el botón que abre el swf?
SALUDOS y muchas gracias por ayudarme.
A ver... ahora no entiendo bien que es lo que necesitas hacer:
Desactivar los botones que te quedan por debajo de "galeria"
O
Ponerlos por encima de "galeria"
Aclarame esto por favor, de todas formas, el tema de hacer swapDepths con símbolos botón siempre trae problemas, lo que te recomendaría que armes es un movie clip que de ahora en más va a ser "tuBoton", y dentro de este pongas en el layer superior otro movieClip con nombre de instancia "hitArea" (con ese nombre de instancia flash interpreta que es el área activa del movie clip botón, te recuerdo también que los movie clips aceptan los mismos eventos de botón que los símbolos button) y también que pongas dentro de "tuBoton" un campo de texto dinámico para ponerle el texto que te haga falta.
De esta manera vas a estar manipulando siempre un movieClip, que va a aceptar las propiedades visible, enabled y el método swapDepths y de seguro no te va a crear complicaciones como los botones transparentes que estas usando ahora.
Por la otra pregunta, no, no hay un método que te desactive un movie que tenga botones adentro, el único método parecido que hace eso es enabled.
La otra cosa que no entendí bien es si estas usando nombres de instancia con espacios por ejemplo "mi botón", si lo estas haciendo deberías cambiarlo porque no es correcto y te puede traer errores.
Diego
Muchas gracias por tu tiempo.
Primero te voy a explicar desde 0 lo que intento hacer.
Tengo una página web hecha en flash. En esa página web, tengo un MC llamado menu, el cual contiene botones, los cuales van cambiando los fotogramas de otro MC que contiene los contenidos de mi web. En uno de esos fotogramas que tienen el contenido de mi web, tengo un botón que abre un SWF con loadmovie. Es una galería, con fotos... hasta ahí todo bien. La galería se abre perfectamente y es funcional, solo que también están activos los botones del _level0 (los botones de mi menu) los cuales puedo clickear... quiero que esos botones no se puedan clickear y por tanto que no cambien el contenido que hay en _level0.
Lo que hice con swapDepths fue una prueba para ver si ponía el botón encima del SWF.
Saludos
Ok, ya esta claro entonces, te diría que armes los botones del menu como te explique antes, si necesitas un ejemplo avisame que lo armo en un rato y lo subo para que puedas descargarlo y verlo.
Entonces con los botones armados de esa manera, más los nombres de instancia sin espacios (tampoco pueden empezar con un numero: "1boton" seria incorrecto también) deberías poder aplicar la propiedad enabled sin problemas, de hecho yo lo hago así todo el tiempo.
Te repito, si te trae problemas el armado del botón, avisame y te armo un ejemplo...
Muchas gracias diego... De momento vamos por buen camino... :D Aun así, no consigo hacer que el botón se desactive...
He puesto en el propio botón un
on(rollover){but.enabled=false;}
Y si que funciona. Al pasar el ratón encima del botón, luego deja de funcionar y no hace nada más. Todo perfecto. Pero al intentar hacerlo desde cualquier otra parte, no me dejaaaaaa. Me estoy volviendo loco... :D Incluso lo he intentado desde el SWF a cargar poniendo _level0. but.enabled=flase; o _root. but.enabled=flase; pero es que no me deja... No hay manera parece... :S Debe de haber alguna regla que se nos escape... :S
Muchas gracias. Vamos por buen camino.
Saludos
¿Cómo andas?
¿Me decías que tienes los botones del menu dentro de un movie clip? Si es así, supongamos que ese movie clip tiene por nombre de instancia "menu", entonces, desde cualquier parte o linea de tiempo desde la que lo quieras deshabilitar, con lo que me decís recién veo que no estamos poniendo bien la ruta de donde esta ubicado el movie clip botón...
Como te decía, si tu movie que contiene todos los botones del menu, tiene por nombre de instancia "menu", la sentencia correcta debería ser:
_root.menu.but.enabled = false;
porque si haces esto:
_root.but.enabled = false; flash lo que va a buscar es un movie llamado "but" EN el escenario, y but en realidad no esta en el escenario, sino dentro de un movie llamado supuestamente "menu".
Fíjate si el problema esta siendo ese...
Diego
Buaaaa. Que crack... Has estado listo ahí. Atento a lo que yo te he dicho... :D Ni te imaginas lo que ha cambiado la cosa... xD
Hemos pasado del but.enable = false; a _root.menu.but.but.butvolver.enable=false; jajaja Que maestro eres. Eres un experto, nunca mejor dicho. Gracias por ayudarme, y sobretodo por enseñarme... ;)
Si no es molestia, una ultima cosa... Hoy, preguntando a un amigo, me dijo que en el SWF a cargar hiciera un botón de fondo,, del tamaño del fondo, y le pusiera en sus acciones algo así (pero no me he enterado muy bien, estábamos corriendo xD) but.mode=off o algo así... No se muy bien. Me dijo que lo que hacia eso era que "desactivaba" el botón por decirlo de alguna manera, y cuando pasabas con el ratón por encima no te mostraba la manita como si tuvieses que pinchar. ¿Cómo es exactamente ese comando?
Muchas gracias de nuevo por tu ayuda... ;) Ya he solucionado mi problema... :D
Saludos
¿Cómo andas?
Bueno, gracias por los halagos! Realmente me gusta enseñar, de hecho doy clases de actionScript en un instituto: www.tallerimagen.com.ar
Bueno, si, para deshabilitar la manito en el rollover y que te quede solo la flecha del cursor tienes que hacer esto:
_root.menu.boton0.useHandCursor = false;
_root.menu.boton1.useHandCursor = false;
_root.menu.boton2.useHandCursor = false;
Suponiendo que los botones dentro de tu menu se llamen boton0, boton1 y boton2...
Bueno, me alegra haberte sido de ayuda!
Visita mi sitio y recomiéndame como diseñador web!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas