Loadmovie
4 seguidores
A los cracks de Flash que hay en esta casa, tengo una problema.... por una parte tengo la pelicula principal "peli.swf". Dentro unos botones que cargan otras peliculas con la función:
on (release) {
unloadMovieNum(1);
loadMovieNum("peli2.swf", 1);
}
Como hago para que la pelicula principal, queden desactivados todas las acciones, o sea, que cuando muevo el mouse por la peli2.swf no detecte que hay otras acciones por la capa inferior... al estilo de la página que habéis posteado www.georgiew.de.
Gracias!
Kaax Staff
hay diferentes maneras de hacerlo...
a)hay quienes usan un mc de igual proporcion de ancho y alto que el escenario y lo colocan por swapDepths justo encima del ultimo nivel a querer ocultar, es la tecnica del ocultador jejej que no es mas q un mc invisible donde se le da un evento cualquiera, y se le quita el usehandcursor....
b)otra tecnica es deshabilitar los botones q quieras, usando la instrucción enabled...
c)y bien otra podria ser q para algunos casos quieras eliminar para siempre algun evento pq ya no te interesa, y lo puedes hacer asi...
delete (bt.onRelease);
delete (bt.onRollOver);
etc.....
Y un truco para ir rapido y deshabilitar muchos botones de un mismo swf es...
hacer un for in
saludos!
xavib
La esencia de lo que buscas es:
<code>boton_btn.enabled = false; // para desactivar
boton_btn.enabled = true; // para activar</code>
No sé como lo hacen en el ejemplo que has posteado pero tiene pinta de ser dinámico, con lo que es fácil que los ítems del menú estén numerados y un for te solucionaría la papeleta. Algo como
<code>if(LaTransiciónEstáEnMarcha){
for(i=0;i<numerodebotones;i++){
["boton"+i]enabled = false;
}
} else {
for(i=0;i<numerodebotones;i++){
["boton"+i]enabled = true;
}
}</code>
Lo escribo sin probarlo, pero por ahí van los tiros.
elSuricatoRojo
Poniendo un botón transparente encima otros consigues que que al hacer press o release se ejecute el código de onPress o onRelease SOLO del botón transparente, que si no tiene programación significa que no hara nada. Y con:
mi_bt.useHandCursor=false
... haces que no se vea la mano al hacer rollover sobre el botón transparente (y no deshabilita su naturaleza de botón).
Haciendo estas 2 cosas consigues que, en la práctica, anular la interacción con cualquier botón que esté por debajo (en profundidad) del botón transparente.
davidoliveras
Si, pero esto solamente esconderá el cursor, y si haces click la función no será deshabilitada, no?
elSuricatoRojo
Un buen truco para deshabilitar todos los botones de un área es poner otro encima. Puedes hacer que no salga la mano poniendo:
mi_bt.useHandCursor=false
...siendo "mi_bt" la instancia del botón.
Asi que pon un botón en la capa mas baja en todas la pelisX.swf, lo instancias (por ejemplo "miBoton") y luego le pones:
miBoton.useHandCursor=false