Foros del Web » Creando para Internet » Flash y Actionscript »

Actionscript y gotoandplay

Estas en el tema de Actionscript y gotoandplay en el foro de Flash y Actionscript en Foros del Web. Hola a todos, hace poco que compré un libro de Flash y estoy intentando verle el rabo al lobo.... A ver, tengo una animación que ...
  #1 (permalink)  
Antiguo 19/03/2009, 12:34
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Actionscript y gotoandplay

Hola a todos, hace poco que compré un libro de Flash y estoy intentando verle el rabo al lobo....
A ver, tengo una animación que consta de 3 botones un bitmap de fondo y un par de mc's. La animación va del frame 1 al 120. Los botones entran en fade in sobre el frame 30, despues de el bitmap y los mc.
Hasta aquí todo bien, ahora empieza la pesadilla del Actionscript. Cómo recomienda el libro he hecho una capa sólo para actions en la línea de tiempo principal. Me las he apañado para poner un par de botones que controlen el sonido en la película y un stop en el frame 120. El código del audio lo he puesto en el frame 1 (capa actions).
Ahora quiero hacer que al presionar uno de los tres botones, la película salte al frame 130 dónde hay otro trozo de película dónde habrá otras imágenes y otros botones (es mi manera de "saltar de página a página").
Cree una función MoviePlay con mouse event on release click y todo esto (lo busque en internet pero al no valerme lo borré y no me acuerdo exactamente cómo era).
Alguen puede indicarme cuál es el código a insertar o una referencia?
Es válido poner ese código en el primer frame de la película(capa actions)? O debería de ponerlo en el primer keyframe en que aparece el botón?
Que ocurre cuádo le das nombre de instancia a un símbolo que tiene aplicada un motion? El nombre de instancia no sale a lo largo de todo el timeline, si lo haces con un símbolo sin motion sí. Es eso importante?
Gracias masters!
  #2 (permalink)  
Antiguo 19/03/2009, 12:48
Avatar de javier4  
Fecha de Ingreso: febrero-2009
Ubicación: en mi casa
Mensajes: 126
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Actionscript y gotoandplay

si entendi bien lo q tenes q hacer es poner`EN EL BOTON no en el primer frame lo siguiente
Código:
on (release) {gotoAndPlay (130)}
  #3 (permalink)  
Antiguo 19/03/2009, 13:19
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 16 años, 4 meses
Puntos: 53
Respuesta: Actionscript y gotoandplay

bueno, si tienes un stop(); en el frame 120, y quieres pasar por medio del boton al frame 130, solo tocas el boton, apretas F9 para ver el panel de acciones y digitas:
Código:
on (release){
gotoAndStop(130);
}
Tienes que poner un stop(); en el 130 para que no pase de ahi.

Si le pones un nombre de instancia a algo este no lo pierde aunque tenga motion.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #4 (permalink)  
Antiguo 19/03/2009, 13:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

Jo! muchas gracias por la rapidez. He hecho lo siguiente, me he puesto en la capa del botón y en el primer keyframe le he puesto el código que me has mencionado.
Ha pasado una cosa rara, al hacer el test movie ha funcionado perfectamente, sólo me ha dado un error de syntaxis, pero la película funcionó cómo debía, apreté el botóny fué al 130.
Pero luego le he añadido un stop a la capa actions en el último frame porque sinó se me loopeaba todo. Pues bien, a partir de eso... mi gozo en un pozo, ya no funciona.
He quitado el stop, pero ya no funciona. Alguna idea?
El error que me da es...1087: Syntax error: extra characters found after end of program.
  #5 (permalink)  
Antiguo 19/03/2009, 13:44
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

Perdón, pero no había visto el mensaje de gVenom. Es cierto, quiero que vaya al frame 130 pero que continúe con los 40 que hay después, supongo que vendría a ser algo así cómo lo que me has puesto pero con gotoAndPlay al final no?
Voy a probar...
Gracias.
  #6 (permalink)  
Antiguo 19/03/2009, 13:50
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

No, no funciona. El problema es que cuándo escribo cualquiera de los códigos que me habeis puesto, no sólo no funciona, sinó que ni siquiera respeta los stops que tengo puestos (uno en el 120 y otro al final de todo de la linea de tiempo).
Alguna idea?
  #7 (permalink)  
Antiguo 19/03/2009, 13:57
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 16 años, 4 meses
Puntos: 53
Respuesta: Actionscript y gotoandplay

bueno, si quieres que siga reproduciendo luego del 130, tu mismo lo dijiste, solo cambias por gotoAndPlay,

ahora recuerda que eso es en el boton, no en la linea de tiempo, y es en la linea de tiempodonde van los stop();

Si no hace caso a los stop algo pasa, verifica que en cada stop hay un key frame, y estos deben ir en la capa del código.

En el frame 130 no debe haber nada de código.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #8 (permalink)  
Antiguo 20/03/2009, 14:30
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

gracias por la ayuda, pero al final no lo conseguí de esa manera.
Ayer vino una amiga y me ayudó. Me contó algo acerca de las clases y me dijo que tenía que poner esto en un keyframe de la capa actions justo en el frame en que empieza el botón.
var bt:SimpleButton=getChildByName("fotosbtn") as SimpleButton;
trace (bt);

bt.addEventListener(MouseEvent.CLICK, clicBoton);

function clicBoton(e:MouseEvent){
gotoAndPlay(102);
}

Eso ha funcionado perfectamente!!!! Pero ahora tengo un problema, realmente no entiendo el código en sí, y quiero aplicarlo a otro botón más adelante que hará otro gotoAndPlay(X), etc...
pero al hacerlo he tenido un montón de errores.
he cambiado el nombre de instancia de botón fotos_btn por personatges_btn, he cambiado el nombre de la función de ClicBoton a ClicBoto y también de botón y he cambiado el "bt" por "bts", ha quedado así:
var bts:SimpleButton=getChildByName("personatges") as SimpleButton;
trace (bt);

bts.addEventListener(MouseEvent.CLICK, clicBoto);

function clicBoto(e:MouseEvent){
gotoAndPlay(174);
}

Al hacer esto toda la línea de tiempo se reproduce perfectamente en el movie hasta que llega al último boton, este es el log del output:
[object SimpleButton]
[object SimpleButton]
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at buena2_fla::MainTimeline/buena2_fla::frame172()


Que puede significar eso? Entiendo que el error debe ser intentar utilizar la misma función para dos objetos distintos o algo así.... alguna idea?
  #9 (permalink)  
Antiguo 20/03/2009, 17:29
Avatar de javier4  
Fecha de Ingreso: febrero-2009
Ubicación: en mi casa
Mensajes: 126
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Actionscript y gotoandplay

seguramente vos lo pusistes seleccionando el Frame no el BOTON, por eso qdo en otro lado. el codigo q puse antes debe estar SOLO en el boton
  #10 (permalink)  
Antiguo 20/03/2009, 17:58
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Actionscript y gotoandplay

Hola delir66:
Lo que pasa es que estás duplicando la función:
Supongamos que tienes 2 botones, llamados bt y btn.
Para el primer botón que se llama: bt escribe el código así:
Código:
bt.addEventListener(MouseEvent.CLICK, clicBoton);
function clicBoton(e:MouseEvent) {
 gotoAndStop(102);
}
Para el el botón: btn.
Código:
btn.addEventListener(MouseEvent.CLICK, irFrame);

function irFrame(e:MouseEvent) {
 gotoAndStop174);
}
Simplemente se cambia el nombre del botón y el nombre de la función.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #11 (permalink)  
Antiguo 21/03/2009, 10:15
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

Hola bandit, de alguna manera entiendo lo que me dices pero no entiendo la otra parte de código que puso mi amiga. Tú dices que hay nombrar dos funciones distintas (clickboton y irFrame)para los dos botones distintos que serían bt y btn. Pero qué hay de los nombres de instancias que le puse a los botones, no son esos los nombres de los botones que quiero usar? En la primera parte de código que tengo escrita, con el trace (bt) imagino que le dice a flash que la instancia de boton fotosbtn pasa ahora a llamarse bt, funciona eso de esa manera?
En ese caso seria lo correcto hacer esto?
primer boton "fotos":
var bt:SimpleButton=getChildByName("fotosbtn") as SimpleButton;
trace (bt);

bt.addEventListener(MouseEvent.CLICK, clicBoton);

function clicBoton(e:MouseEvent){
gotoAndPlay(102);

}
Y en el segundo botón poner esto otro:
var btn:SimpleButton=getChildByName("personatgesbtn") as SimpleButton;
trace (btn);

btn.addEventListener(MouseEvent.CLICK, irFrame);

function irFrame(e:MouseEvent){
gotoAndPlay(173);
}

El primer trozo de código funciona perfectamente, hasta llegar ahí la película funciona bien. Es cuándo llega a ese segundo botón cuándo sale el error ese.
No debería de estar éste código bien?

Javier4, la verdad es que aún no he sabido hacer funcionar el otro método, el que me diste tú. He probado poniendo el código en una capa actions, no funcionó cómo bien dices, luego lo puse en el frame en el que empieza el botón en la misma capa, tampoco funcionó. Luego me metí dentro de la línea de tiempo del botón para intentar colocarlo ahí, pero no me deja.... Y desde la línea principal, clico sobre el botón en el área de trabajo, pero en la ventana actions me dice que ahí no se puede poner actionscript. No veo en qué otro sitio lo puedo poner.
A todo esto recordar que en el primer frame de la línea de tiempo principal hay escrito un código para el manejo del audio por botones (por si podría eso molestar)....

muchas gracias chicos
  #12 (permalink)  
Antiguo 21/03/2009, 10:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 98
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Actionscript y gotoandplay

Pues si, el código correcto es este último, lo que passa es que estoy tan empanado que no había puesto personatgesbtn l nombre de instancia, sinó que sólo personatges.
Lo siento chicos, veo que para que todo fluya aquí tienes que ir fino fino con TODO lo que pones, es la pesadilla del código para mi. Supongo que con la práctica....
Gracias a todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:40.