Comunidad de diseño web y desarrollo en internet online

Problema con removeMovieClip de un clip atachado

Citar            
MensajeEscrito el 02 Jul 2007 09:59 am
Hola, muy buenas! A ver si me podeis hechar una mano con esta tonteria, que seguro que lo es pero me trae loco... Se trata de eliminar un clip de pelicula que ha sido atachado. Aunque mejor, para muestra aqui teneis el codigo:

Código :

contenedor["ventana"+i].img.onRollOver = function() {
    attachMovie("sobreimagen", "sobreimagen", 3000000);
    this.onEnterFrame = function() {
        sobreimagen._x = _xmouse+5;
        sobreimagen._y = _ymouse-10;
    };
};
contenedor["ventana"+i].img.onRollOut = function() {
    removeMovieClip(sobreimagen);
    delete this.onEnterFrame;
};

Se trata de mostrar el tipico texto alternativo("sobreimagen") sobre unas imagenes cargadas dinamicamente de un xml, aunque eso es otro tema. Espero podais ayudarme, se que no es tan dificil, pero lo he intentado de mil maneras, y no doy con la solucion.
En otro caso me pasaba lo mismo, y lo pude "solucionar" diciendole al clip en cuestion:

Código :

gotoAndStop("fotograma_vacio");

Aunque creo que esa no es una forma muy profesional que digamos... Bueno, muchas gracias por anticipado, xao!

Por elmaxloco

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 10:16 am
Prueba así:

Código :

var img:MovieClip
contenedor["ventana"+i].img.onRollOver = function() {
    img = attachMovie("sobreimagen", "sobreimagen", 3000000);
    this.onEnterFrame = function() {
        sobreimagen._x = _xmouse+5;
        sobreimagen._y = _ymouse-10;
    };
};
contenedor["ventana"+i].img.onRollOut = function() {
    img.removeMovieClip();
    delete this.onEnterFrame;
};

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 Jul 2007 10:31 am
Gracias por tu respuesta, Zah. Mmmh... Sigue sin funcionar... Lo he provado tal cual, "copy paste", y nada, funciona igual que antes, cuando saco el raton de la imagen, se queda el texto alternativo ahi, quieto, pero no se borra...
Alguna idea mas? Siempre estoy a tiempo de mandarlo a un fotograma vacio, pero imagino que un simple "removeMovieClip" no puede ser tan dificil de usar... O no? buf... sigo intentandolo...
Gracias de nuevo, un saludo.

Por elmaxloco

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 10:36 am
¿El onRollOut hace algo (un trace)?
¿Tienes todo eso metido en un bucle?
Prueba entonces así:

Código :

contenedor["ventana"+i].img.onRollOver = function() {
    this.imagen = this.attachMovie("sobreimagen", "sobreimagen", 3000000);
    this.onEnterFrame = function() {
        sobreimagen._x = _xmouse+5;
        sobreimagen._y = _ymouse-10;
    };
};
contenedor["ventana"+i].img.onRollOut = function() {
    this.imagen.removeMovieClip();
    
};

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 Jul 2007 10:56 am
Gracias Zah por tus respuestas, agradezco tu interes.
En cuanto al problema, a ver... Lo que me comentas tampoco funciona. Como tu dices, esta en un bucle, el codigo que he mostrado esta dentro de un for, por eso lo de ["ventana"+i]. No puedo hacerle trace a el rollOut, porque si no "publico" en el servidor, no carga las imagenes del xml y por lo tanto no tendra ocasion de mostrar el texto alternativo (sobreimagen). Sin embargo, si puedo hacer que ponga un texto cualquiera en un campo de texto dinamico, para comprobar que hace el rollOut:

Código :

contenedor["ventana"+i].img.onRollOut = function() {
    _root.textoprueba.text = "Se ejecuta el rollOut";
};

Lo cual si hace. Osea, el rollOut funciona, lo que no funciona es el maldito removeMovieClip. Muchisimas gracias por las molestias, me gustaria contestarte diciendo que funciona a la perfeccion, pero, en fin...
Un saludo.

Por elmaxloco

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 10:58 am
uh :?
Comprueba el valor de this.imagen, a ver qué pasa...

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 Jul 2007 11:06 am
Eso es lo fuerte, "this.imagen" tiene el valor =
_level0.menusera.contenido.amigos.contenedor.ventana1.img.sobreimagen
cambiando el valor de "ventana" segun la foto sobre la cual este (lo cual es correcto)...
¿Como es posible? La ruta esta bien, pero no lo elimina. No entiendo porque. Hace el rollOut, la ruta esta bien, pero sin embargo, no lo elimina...
Gracias de nuevo Zah, un saludo.

Por elmaxloco

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 11:52 am
Bueno, he encontrado una posible solucion, aunque sigo sin entender porque no funciona removeMovieClip, pero en fin, usando unloadMovie si me ha funcionado:

Código :

contenedor["ventana"+i].img.onRollOver = function() {
            attachMovie("sobreimagen", "sobreimagen", 3000000);
            sobreimagen._x = _xmouse+5;
            sobreimagen._y = _ymouse-10;
            this.onEnterFrame = function() {
               sobreimagen._x = _xmouse+5;
               sobreimagen._y = _ymouse-10;
            };
         };
         contenedor["ventana"+i].img.onRollOut = function() {
            unloadMovie(sobreimagen);
            delete this.onEnterFrame;
         };

Sigo sin entender el porque no funciona con removeMovieClip, pero bueno, me lo tomare como un error o algo similar. Un saludo.

Por elmaxloco

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 01:20 pm
Pues ni idea T_T
Hice esto mismo (con removeMovieClip) y me funcionó...

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.