Comunidad de diseño web y desarrollo en internet online

retroceder un fotograma

Citar            
MensajeEscrito el 28 Dic 2008 05:31 pm
Hola tengo el siguiente código:

Código :

function abrir_atras (e:Event) : void
{
gotoAndPlay("presentacion");

}
atras.addEventListener(MouseEvent.CLICK, abrir_atras);


y me sale el siguiente error: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

Quiero hacer un botón que retroceda un fotograma y no lo consigo, este método para ir hacia lante si parece que me funciona y en ActionScript 2 siempre he hecho esto en los cds interactivos que he realizado. Ahora tengo que hacer uno en actionscript 3 y no entiendo nada. :shock:

un saludo y gracias

Por Bea

12 de clabLevel



 

Asturias

firefox
Citar            
MensajeEscrito el 28 Dic 2008 06:11 pm
Pego todo el código de los botones, está todo en la misma capa que la he llamado acciones en el primer fotograma y luego hay otra capa con los botones.

Código :

fscommand("showmenu","false");
stop();

//botones
function abrir_ayuda (e:Event) : void
{
 gotoAndPlay("ayuda1");
}
ayuda.addEventListener(MouseEvent.CLICK, abrir_ayuda);

function abrir_siguiente (e:Event) : void
{
 nextFrame(); 
}
siguiente.addEventListener(MouseEvent.CLICK, abrir_siguiente);

function abrir_pantalla (e:Event) : void
{
  fscommand("fullscreen", "true");
}
pantalla.addEventListener(MouseEvent.CLICK, abrir_pantalla);

function abrir_restaurar (e:Event) : void
{
 fscommand("fullscreen","false");
}
restaurar.addEventListener(MouseEvent.CLICK, abrir_restaurar);

function abrir_anterior (e:Event) : void
{
 prevFrame();
}
anterior.addEventListener(MouseEvent.CLICK, abrir_anterior);


todos los botones funcionan menos el anterior (volver al fotograma anterior) mostrando este error:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at CD_CONCILIACION_fla::MainTimeline/frame1()

un saludo y mil gracias siempre he programado con actionscript 2 y no puede ser que lleve dos días con esto en actionscript 3 :cry:

Por Bea

12 de clabLevel



 

Asturias

firefox
Citar            
MensajeEscrito el 29 Dic 2008 02:40 am
Hola, es muy sencillo.

antes del gotoAnPlay escribe: "e.currentTarget." ó "atras." , por ejemplo:

Código :

function abrir_atras (e:Event) : void
{
atras.gotoAndPlay("presentacion");

//ó esto: 
// e.currentTarget.gotoAndplay("presentacion");

}
atras.addEventListener(MouseEvent.CLICK, abrir_atras);


Lo que sucede es que al no poner una referencia (atras ó e.currentTarget), es como si te estuvieras refiriendo a la escena principal, y por lo tanto trata de buscar el frame "presentación" en ella (el cual no existe ahí).

La vetaja del e.currentTarget es que no necesitas escribir el nombre del objeto al que haces click, lo que significa que puedes hacer los mismos listeners a otros objetos para que se metan a la misma función y, por decir, cada uno se iría a su propio frame "presentación".

Por -YO-

27 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 29 Dic 2008 07:23 am
Para mí creo que lo que ocurre es que no tienes ningún botón o MC con nombre de instancia "atras" y, de ahí el error.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Dic 2008 07:13 pm
Pasate por aqui seguro alli encontraras la solución a tu problema.

Por fredybg

116 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 29 Dic 2008 07:42 pm
Hola, muchas gracias por contestar, sólo tengo una escena con dos fotogramas en el primero tengo en una capa el código y en otra los botones texto... En el primer fotograma tengo todos los botones menos el de atras y en el segundo todos (pero el código del botón atras tambien está en el 1º fotograma.

El botón se llama atras con lo cual si existe y lo cree mediante insertar/nuevo símbolo/boton.. igual que los demás botones que si funcionan.

Código :

function abrir_atras (e:Event) : void
{
 e.currentTarget.gotoAndplay("presentacion");

}
atras.addEventListener(MouseEvent.CLICK, abrir_atras);


con esto pone 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 CD_CONCILIACION_fla::MainTimeline/frame1()

y con esto:

Código :

function abrir_atras (e:Event) : void
{
 atras.gotoAndplay("presentacion");

}
atras.addEventListener(MouseEvent.CLICK, abrir_atras);


1061: Llamada a un método gotoAndplay posiblemente no definido mediante una referencia con tipo estático flash.display:SimpleButton

y con esto:

Código :

function abrir_atras (e:Event) : void
{
gotoAndplay("presentacion");

}
atras.addEventListener(MouseEvent.CLICK, abrir_atras);


1180: Llamada a un método gotoAndplay posiblemente no definido.

En fín no se que puede ser siempre he utilizado esto con actionscript 2 y no he tenido problema. Me he decidido pasar al 3 y no veo la luz, además mi decisión fue por intentar hacer un cd interactivo que lo leyeran los lectores de pantalla y tampoco lo consigo.
Seguiré dandole vueltas
un saludo

Por Bea

12 de clabLevel



 

Asturias

firefox
Citar            
MensajeEscrito el 30 Dic 2008 02:03 am
Hmm.. ¿dices que tienes el código del boton ("atrás") en el 1er frame y el boton en el 2do?

te recomiendo que pongas el código del botón en el mismo numero del frame de éste (en el 2do).

Por -YO-

27 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 30 Dic 2008 02:05 am
Espera... creo que noté que esribiste "gotoAndplay" y es "gotoAndPlay" con "P" mayúscula

por eso sale: "Llamada a un método gotoAndplay posiblemente no definido"

Por -YO-

27 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 31 Dic 2008 03:29 pm
Hola,

era una cosa tan tonta como poner el código de este botón en el fotograma donde es usado por primera vez (el segundo)
y claro ahora funciona con prevFrame o con gotoAndPlay...

Mil gracias por contestar.

Por Bea

12 de clabLevel



 

Asturias

firefox
Citar            
MensajeEscrito el 12 Mar 2009 12:24 pm
Hola chicos/as, tengo el mismo problema, varios fotogramas, cada uno es un apartado para web.
Uso un layer superior donde va el código de las acciones.
He indicado un label para cada fotograma en lugar de usar numeración, el nombre instacia de cada botón se puede ver antes de "addEventListener".

//En el 1er frame:

stop();

function pfotogram (e:Event) : void
{
gotoAndStop("portafolio");
}
porta.addEventListener(MouseEvent.CLICK,pfotogram);

function sfotogram (e:Event) : void
{
gotoAndStop("servicios");
}
servi.addEventListener(MouseEvent.CLICK,sfotogram);

function nfotogram (e:Event) : void
{
gotoAndStop("nosotros");
}
nos.addEventListener(MouseEvent.CLICK,nfotogram);

function cfotogram (e:Event) : void
{
gotoAndStop("contacto");
}
contact.addEventListener(MouseEvent.CLICK,cfotogram);

//En el 2ndo frame: Si utilizo el mismo sistema de código en cualquiera de los fotogramas destino para otros botones:

stop();

function sfotogram_b (e:Event) : void
{
gotoAndStop("servicios");
}
servib.addEventListener(MouseEvent.CLICK,sfotogram_b);

Me sale el error comentado:
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at base_web_fla::MainTimeline/frame2()
at flash.display::MovieClip/gotoAndStop()
at base_web_fla::MainTimeline/pfotogram()




Podrían orientarme sobre: el posicionamiento en un determinado fotograma desde cualquier otro q no sea el incial, mediante botones y donde ha de ir situado dicho codigo.

Les iré posteando los vances. Siempre gracias por el tiempo.

Por Drebel

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Mar 2009 02:26 pm
Aclarar que son 5 fotogramas, hay 4 botones en un 1er frame que sería como la home del site. En los 4 otros restantes frames (1 para cada apartado) existes 3 botones distintos a los de la home pero los nombré igual (es correcto?).
En los frames clave puse la función pública stop(); y les puse de label el mismo nombre q los botones.

codigo del 1er frame:

stop();

function clicboton (event:MouseEvent) : void {
gotoAndStop(event.target.name);

portafolio.enabled = true;
servi.enabled = true;
nos.enabled = true;
contact.enabled = true;

event.target.enabled = false;

}
portafolio.addEventListener(MouseEvent.CLICK,clicboton);
servi.addEventListener(MouseEvent.CLICK,clicboton);
nos.addEventListener(MouseEvent.CLICK,clicboton);
contact.addEventListener(MouseEvent.CLICK,clicboton);

___________
En el 2do frame que es el nombrado portafolio, existen 3 botones para las otras secciones como dije:
pero al entrar en este frame o culaquier otro de los demás desde la home (1er frame) aparece el siguiente error:

Por Drebel

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Mar 2009 02:28 pm
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at base_web_fla::MainTimeline/clicboton()

Por Drebel

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2010 02:02 pm
estoy con las mismas. tengo 5 fotogramas con botones para volver al fotograma de inicio. pero me sale el Error #1009: No se puede acceder a una propiedad o a un método de una refere........... y ya no se que hacer
AYUDAAAAAAAAAAAAAAAAAa

Por anagas

1 de clabLevel



 

firefox

 

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