Comunidad de diseño web y desarrollo en internet online

Botón llama a etiqueta pero no a fotograma siguiente...

Citar            
MensajeEscrito el 26 Feb 2009 05:29 pm
Hola, estoy trasteando con un cd interactivo donde las secciones están en fotogramas con su correspondiente etiqueta (en este caso la etiqueta es "p5"), pero a la vez activo un clip (change_page) para que haga un efecto de "cerrar sección actual y abrir la siguiente". Lo hago así:

on (release) {
change_page("p5");
}


Como os digo, al llamar a la etiqueta sale sin problemas, pero no he sido capaz de hacer algo tan aparentemente sencillo como decirle que en vez de ir a una etiqueta "X" vaya al fotograma siguiente o anterior estés donde estés! no hay manera, yo he partido de este código:

on (release) {
nextFrame();
}

...pero no consigo encajar el change_page y que funcione.

He probado de mil maneras y seguro que es una chorrada pero estoy muy verde en actionscrip y me estoy volviendo picha. Lógicamente pódría hacerlo llamando a la etiqueta siguiente pero tendría que cambiar el código en cada botón y seguro que se puede hacer con una sóla orden. ¿Hay forma de hacerlo con algo así como nextFrame o nextLabel o algo así?... si podéis echarme una manilla os lo agradezco. Un saludo y gracias.

Por sergio76

37 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Feb 2009 10:57 pm
intenta con esto:

Código ActionScript :

on (release) {
this._parent.nextFrame();
}

o esto y pones tambien stop() en los fotogramas.

Código ActionScript :

on (release) {
play();
}

Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Feb 2009 07:54 am
Vaya, la primera solución no funciona, lo que me ha hecho es pasar al primer frame de la escena siguiente... ?¿
La segunda opción podría estar bien pero el problema es que necesito que se active a la vez el clip "page_changer" que comentaba arriba. En lo que yo me he basado es esto:

on (release) {
_root.change_page(p);
}


Entiendo que lo que esto hace es: -Al pulsar activame el clip "change_page" y llévame a la etiqueta "p"-. Y como la ignorancia es muy atrevida yo he probado cosas como:

on (release) {
_root.change_page(nextFrame);
}


Esto lo que me hace es activar perfectamente el clip "change_page" pero me deja en el mismo fotograma... Me da la impresión de que es una enorme falta de "ortografía" pero quizá lo que busco es algo parecido ¿no?...

Por sergio76

37 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Feb 2009 09:29 am
mmm, bueno creo que ya entendi un poco, tu funcion "change_page" recibe una etiqueta "p1", "p2", ... "p99" entonces lo que hace es ir a esa etiqueta ademas de hacer una animacion con un movieclip. tu quieres que si estoy en la etiqueta "p3" y pulso "siguiente", me haga el change_page("p4"); y asi sucesivamente ¿No?

Bueno, en el primer fotograma declara una variable:

Código ActionScript :

var index:Number = 0;


Ahora, por ejemplo, donde tienes la etiqueta "p3", coloca:

Código ActionScript :

index = 3;


y asi en cada una de las etiquetas.

Ahora en el boton "siguiente" coloca:

Código ActionScript :

on (release) 
{
    trace(index +"::"+ _root.index +" <- puede ser cualquiera de estas dos");
    change_page("p" + (index + 1));
}


Recuerda que cuando estes en la ultima etiqueta, deberas desactivar el boton siguiente para que este no te dirija al LIMBO.

Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Feb 2009 12:20 pm
Si, perdona, igual no me expliqué del todo bien.
He estado probando lo que me dices, he encontrado problemas pero tengo que advertirte que probablemente el problema sea sólo mío, tengo muchas lagunas aún con este tipo de programación, si no te importa te comentaré lo que he ido haciendo y así quizá localicemos el error. Igual después de esto hasta te ries de las burradas que he hecho, en cualquier caso muchas gracias por tu tiempo:

var index:Number = 0;
(esto lo he puesto en una capa nueva COMO ACCIÓN en el fotograma 1). Al crear una capa nueva la acción aunque esté en el fotograma 1 quizá afecte al resto de la línes de tiempo y no sé si será problemático...


index = 3;
Esto sin problemas, lo he puesto en la etiqueta de fotograma donde antes ponía "p3".


on (release)
{
trace(index +"::"+ _root.index +" <- puede ser cualquiera de estas dos");
change_page("p" + (index + 1));
}

Aquí ya no estoy nada seguro, he pegado esto en el botón pero me surgen dudas, en principio me indicas que "puede ser cualquiera de estas dos". ¿Debo retocar ese script? porque igual el problea es que tendría que haber escogido una de las opciones, también lo he intentado pero al intentar "cortar" me empieza a dar errores de sintaxis...
Lo que he conseguido hasta ahora es que me lleve al fotograma 1. Buf! Quizá yo no tenga nivel suficiente como para hacerme entender si quiera... no quiero quemarte que puedo ser muy desesperante :cry: un saludo

Por sergio76

37 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Feb 2009 07:00 pm
es probable que tengas

change_page = function(variable)
{
//codigo
}

prueba si llega la informacion a tu funcion, pone un trace dento de la misma para ver si llegan los datos

byee Saludos!

Por wawi

325 de clabLevel

2 tutoriales

 

Argentina

firefox
Citar            
MensajeEscrito el 28 Feb 2009 12:31 am
Hola, no te preocupes, todos inciamos asi, intentando ver como es que funciona.

sergio76 escribió:

[...]Al crear una capa nueva la acción aunque esté en el fotograma 1 quizá afecte al resto de la línes de tiempo y no sé si será problemático[...]

Tienes que extender la capa de acciones hasta el final de la pelicula, no afecta al resto de las lineas de tiempo(de forma problematica).

sergio76 escribió:

[...]index = 3;
Esto sin problemas, lo he puesto en la etiqueta de fotograma donde antes ponía "p3".[...]

No, la etiqueta del fotograma se queda tal cual la tenias "p3", y todas las demas, "p1", "p2"... etc todas se quedan asi como las tenias. tomando tu nueva capa de ACCIONES, dirigete al fotograma donde colocaste la etiqueta "p3", ahora, en el mismo numero de fotograma pero en la capa de acciones presiona f5, esto creara un keyframe vacio, ahi mismo presiona f9 y se abre el panel de acciones, ahi es donde escribes index = 3. es como colocar funciones stop, solo que ahora es index = 3, index = 2 etc, correspondiente a la etiqueta.

sergio76 escribió:

[...]on (release)
{
trace(index +"::"+ _root.index +" <- puede ser cualquiera de estas dos");
change_page("p" + (index + 1));
}
[...]

Yo no se como esta por dentro la estructura de tu fla, y es por eso que coloque el "trace" para mostrar en el panel de salida el contendio de las funciones.

Mi logica fue la siguiente:

si en el panel de salida, al presiona el boton, obtienes:

"3::undefined <- puede ser cualquiera de estas dos"
significa que la variable correcta es "index" a solas, entonces change_page("p" + (index + 1));

si
"undefined::3 <- puede ser cualquiera de estas dos"
significa que la variable correcta es "_root.index", entonces change_page("p" + (_root.index + 1));

si
"3::3 <- puede ser cualquiera de estas dos"
significa que cualquiera de las dos funciona bien, entonces change_page("p" + (index + 1));

Espero haber sido claro. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 28 Feb 2009 12:33 am

LongeVie escribió:

[...]Yo no se como esta por dentro la estructura de tu fla, y es por eso que coloque el "trace" para mostrar en el panel de salida el contendio de las funciones[...]


Quice decir, el contenido de las variables :P

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 02 Mar 2009 09:50 am
LongeVie muchas gracias por tu ayuda. Ahora funciona perfectamente.
Bueno, al principio hice todos los cambios y no funcionaba, pero el problema era que sólo había puesto el index = 3 en el tercer fotograma y el var index:Number = 0; en el primero, pensé que sería suficiente pero me dió por probar a poner index = 2, index = 4, etc , es decir, "completar los huecos" en la línea de tiempo y va como la seda.
Jóe, pensé que sería incapaz de conseguirlo, de hecho no sabía lo que era un "trace" así que imagínate, pero ya está.
Por cierto, lo que me daba en la salida era esto:
3::undefined <- puede ser cualquiera de estas dos
Ya está corregido y todo va bien.
Te agradezco una vez más tu ayuda y el tiempo dedicado a este problema. Espero que este post sirva a otra gente también. Gracias también a wawi. Un saludo.

Por sergio76

37 de clabLevel



 

msie

 

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