Comunidad de diseño web y desarrollo en internet online

Error OnClipOut, OnClipOver

Citar            
MensajeEscrito el 30 Nov 2009 01:01 pm
Buenos días, resulta que en una animación tengo un botón pausa y otro play, ambos solo aparecen cuando me sitúo sobre la animación y desaparecen cuando coloco el cursor fuera de ella. Los botones funcionan bien, el problema es que he al finalizar la animación, cuando sitúo el ratón sobre ella me sale el siguiente error solo en firefox en pc, ya que en mac no lo hace y en ie tampoco:



ESTE ES EL ERROR:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

at IMG_PRODUCTOS_BOX2A_fla::MainTimeline/onClipOver()

Y ESTE EL CÓDIGO:

Código ActionScript :

         pausa.visible = false;
         reproducir.visible = false;
         
   

      addEventListener(MouseEvent.MOUSE_OVER, onClipOver);
      addEventListener(MouseEvent.MOUSE_OUT, onClipOut);
      
       function onClipOver(event:MouseEvent):void {
         pausa.buttonMode = true;
         pausa.visible = true;
         reproducir.visible = true;
      }
      function onClipOut(event:MouseEvent):void {
         pausa.buttonMode = false;
         pausa.visible = false;
         reproducir.visible = false;
      }


Si alguien pudiera decirme algo,

gracias.

Por titito

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Nov 2009 02:47 pm
Te saldrá solo en Firefox porque allí tienes el debug player (si no tienes debug player el error no sale) Lo que ocurre es que pausa o reproducir puede que no existan en el onClipOver

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Nov 2009 04:32 pm
Gracias Jorge por la respuesta, he intentado modificar el código, y no me sale el error pero tampoco sucede lo que quiero, por si alguien puede ayudarme o darme una pista, tengo una animación con movieclips, y un boton pausa y otro reproducir, entonces en el frame 100 aproximadamente quiero que esos botones se oculten y solo aparezcan cuando ubico el cursor del ratón sobre la animación. Hasta ahora el código de los botones es el siguiente:

Código ActionScript :

pausa.buttonMode = true;

pausa.addEventListener(MouseEvent.ROLL_OVER, sobrePausa);

function sobrePausa(event:MouseEvent):void
{
   pausa.gotoAndPlay("Sobre");
}

pausa.addEventListener(MouseEvent.ROLL_OUT, fueraDePausa);

function fueraDePausa(event:MouseEvent):void
{
   pausa.gotoAndPlay("Fuera");
}

pausa.addEventListener (MouseEvent.CLICK, para);

function para(evt:MouseEvent):void{
this.stop()
mc_01.stop()
stop()
}

reproducir.buttonMode = true;

reproducir.addEventListener(MouseEvent.ROLL_OVER, sobreReproducir);

function sobreReproducir(event:MouseEvent):void
{
   reproducir.gotoAndPlay("Sobre");
}

reproducir.addEventListener(MouseEvent.ROLL_OUT, fueraDeReproducir);

function fueraDeReproducir(event:MouseEvent):void
{
   reproducir.gotoAndPlay("Fuera");
}

reproducir.addEventListener (MouseEvent.CLICK, sigue);

function sigue(evt:MouseEvent):void{
this.play()
mc_01.play()
play()
}


esto es para pausar la película principal y el movieclip con su animación, y el código que tengo para que aparezcan y desaparezcan los botones es el siguiente:

Código ActionScript :

      pausa.visible = false;
      reproducir.visible = false;
         
   

      addEventListener(MouseEvent.MOUSE_OVER, onClipOver);
      addEventListener(MouseEvent.MOUSE_OUT, onClipOut);
      
       function onClipOver(event:MouseEvent):void {
         pausa.buttonMode = true;
         pausa.visible = true;
         reproducir.visible = true;
      }
      function onClipOut(event:MouseEvent):void {
         pausa.buttonMode = false;
         pausa.visible = false;
         reproducir.visible = false;
      }


Si alguien me dice algo se lo agradecería :wink:

Por titito

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Nov 2009 05:56 pm
Si el code que has puyesto al final está dentro de la línea de tiempo de la animación, la ruta a los botones está mal ... a menos que los botones estén dentro de la animación. Fácil saber, agrega:

trace(pausa+" / "+reproducir)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 05:07 pm
Hola de nuevo, escribo porque todavía no pude resolver el problema de los botones que planteé hace unas semanas. Paso a explicar, tengo una animación que la pueden ver aquí [url=www.abracadabraestudio.com/animacion/IMG_PRODUCTOS_BOX1.html][/url]

El problema surge cuando depuro la película, o la veo en firefoox o IE con el flash debugger, me sale el siguiente error:
"TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at IMG_PRODUCTOS_BOX1_fla::MainTimeline/para2()[IMG_PRODUCTOS_BOX1_fla.MainTimeline::frame626:7]"

En la animación hay un botón pausa y otro reproducir, y debe parar la animación y reanudarla según presiono, en la animación hay 3 movieclips mc_01, mc_02 y mc_03, ese error me lo da cuando intento pausar la animación al final de la misma cuando está corriendo el mc_03, pero el código corresponde al reproducir y pausa del mc_02!!

El codigo que tengo en los diferentes frames para los botones es el siguiente:

Para el mc_01 ubicado en el frame 2

Código ActionScript :

pausa.buttonMode = true;
reproducir.buttonMode = true;

pausa.addEventListener (MouseEvent.CLICK, para);

function para(evt:MouseEvent):void{
stop()
}

reproducir.addEventListener (MouseEvent.CLICK, sigue);

function sigue(evt:MouseEvent):void{
play()
}


Para el mc_02 ubicado en el frame 626

Código ActionScript :

pausa.buttonMode = true;
reproducir.buttonMode = true;

pausa.addEventListener (MouseEvent.CLICK, para2);

function para2(evt:MouseEvent):void{
mc_02.stop()
}

reproducir.addEventListener (MouseEvent.CLICK, sigue2);

function sigue2(evt:MouseEvent):void{
mc_02.play()
}


y para el mc_03 ubicado en el frame 1226

Código ActionScript :

pausa.buttonMode = true;
reproducir.buttonMode = true;

pausa.addEventListener (MouseEvent.CLICK, para3);

function para3(evt:MouseEvent):void{
mc_03.stop()
}

reproducir.addEventListener (MouseEvent.CLICK, sigue3);

function sigue3(evt:MouseEvent):void{
mc_03.play()
}


Cabe destacar que el depurador me da el error ese 1009 cuando ya está corriendo el mc_03.

Si alguien puede ayudarme please ya que no tengo mucha experiencia con AS3.

Gracias! :)

Por titito

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Dic 2009 05:46 pm
El error es muy genérico y no aclara demasiado. Siempre aconsejo esto: ponerse en donde mar al error y luego comantar todas las líneas del método, para luego ir descomentando una a una hasta que salga el error. En tu caso, haz eso en la función para2 para descubrir cual elemento es exactamente el que da problemas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 06:04 pm
Hola SolisArg gracias por contestar, cuando te referís a comentar el código es a poner comentarios con // bla bla bla???

Por titito

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Dic 2009 06:07 pm
Tienes que agregar dos barras delante de un comando, supongamos que:

Código ActionScript :

function para2(){
   //algunMC. depth = 8
   //otroClip.gotoAndPlay(5)
}


Aquí tengo dos líneas comentadas, les quito el comentario a la primera y miro si da error:

Código ActionScript :

function para2(){
   algunMC. depth = 8
   //otroClip.gotoAndPlay(5)
}


Y así sucesivamente hasta que descubro en que línea me da el error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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