Comunidad de diseño web y desarrollo en internet online

Heredar Variables de un SWF a otro en una pelicula principal

Citar            
MensajeEscrito el 05 Jul 2007 02:55 pm
Hola! Buenas a todos. Soy principiante en esto del Action de Flash y haciendo un CD Interactivo me tope con una barrera... Tengo una pelicula principal en la cual se cargan varios SWF dependiendo del tema. Ahora... Estas peliculas que se cargan llevan variables para el control de una puntuacion y dependiendo de esa puntuacion deberian de habilitarse o no unos botones en la pelicula principal. Mi pregunta es... Como hago para heredar las variables de esos SWFs a la pelicula principal para saber el resultado que tienen?
Desde ya mil gracias a todos por la ayuda.

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Jul 2007 03:03 pm
Buenas... si vos cargas ese swf en un contenedor cualquiera, accedes directamente a las variables con la sintaxs de punto:

Código :

createEmptyMovieClip("miClip",50);
miClip.loadMovie("miPelicual.swf");
trace(miClip.clipEnLaPelicula.variable);


Esto es, claro, solo a modo de ejemplo, para q entiendas como acceder, despues tendrias q probarlo y ver si se cargo la pelicula antes de acceder a las variables y demas.

saludos,

D!

Por Dario!

28 de clabLevel



Genero:Masculino  

Capital Federal - BsAs - Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2007 03:34 pm
Mmmmmm... No entendi mucho, te cuento mas o menos a ver si como la tengo se puede hacer. En el boton dentro de la palicula principal tengo este codigo que es el que carga el SWF donde quiero dentro de este principal.

on (release) {
loadMovie("evaluacion.swf", "_root.contenido");
}

Ahora... el swf tiene una variable que se llama RC que es el resultado de las evaluacion. Lo que quiero es que si, por ejemplo RC=10 entonces uno de los botones de la pelicula principal se habilite o no. Entonces, la pregunta era si esa variable RC que esta en la pelicula EVALUACION puedo saber el resultado desde la pelicula principal.
Desde ya mil gracias y espero me tengan un poco de paciencia q recien empiezo con esto =)

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Jul 2007 03:57 pm
Es lo q te decia... deberias poder acceder mas o menos asi:

Código :

trace(_root.contenido.RC)

Por Dario!

28 de clabLevel



Genero:Masculino  

Capital Federal - BsAs - Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2007 04:19 pm
_global.RC;

con esto la variable RC aunque esté dentro del SWF cargado tambien la ve la pelicula principal.

Por Chelab

37 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 05 Jul 2007 04:45 pm
Mmmmm... _Global.rc es como la llamo desde el boton de la pelicula principal y en la swf q cargo la sigo manejando como variable comun? o sea...

on (release) {
i = "i+_Global.rc";
if (i>4) {
loadMovie("seiton.swf", "_root.contenido");
} else {
loadMovie("ERROR.swf", "_root.contenido");
}
}

Disculpa todas las preguntas =)

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Jul 2007 05:02 pm
si lo que queres hacer con "_Global" es crear una global, desde ya q esta mal.

Código :

_global.rc = 10

Asi esta bien escrito.

Por Dario!

28 de clabLevel



Genero:Masculino  

Capital Federal - BsAs - Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2007 05:29 pm
Mi pregunta es donde tengo q declarar la variable de esa forma y como la llamo desde la otra pelicula.
O sea... En la pelicula secundaria, la q carga dentro de la principal, ahi es donde tengo la variable rc ahi la uso como rc = 0; o como _Global.rc = 0;
y luego en la pelicula principal como llamo al resultado de esa variable?
La cuestion es la siguiente. En la pelicula secundaria (el SWF q se carga dentro de la principal) tengo 5 preguntas, las cuales si contestan las 5 bien pueden pasar a otra parte lo cual habilita o deshabilita un boton de la pelicula principal q si esa variable es menos q 5 no haga nada, y sino de acceso a otro SWF externo. No se si me explico bien, lo q pasa q como recien me meto en esto del action script y algunas cosas no se como explicarlas.

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Jul 2007 05:44 pm
a ver... de nuevo... vos podes acceder por sintaxis de punto a cualquier variable de la pelicula q cargas, por lo cual, declara la en la pelicula q la variable que necesites y despues buescala desde la pelicula contenedora.

podes declarar si queres un a global, y llamarla desde donde quieras.

postea como lo estas haciendo y vemos en q le estas errando.

saludos,

D!

Por Dario!

28 de clabLevel



Genero:Masculino  

Capital Federal - BsAs - Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2007 06:11 pm
En la pelicula principal lo que declaro en el primer fotograma es:

stop();
i = "0";

Donde la variable i luego la voy a usar de contador para ir habilitando varios botones.
Entonces en la pelicula principal tengo 3 botones, los 3 son evaluacion q constan de 5 preguntas cada uno.
en el primer SWF q carga tengo una variable q se llama rc es la tengo declarado en el primer fotograma:

stop();
rc = 0;

entonces en el boton q tiene la respuesta correcta tego esto:

on (release) {
nextFrame();
rc = rc+1;
}

Entonces al final de las 5 preguntas si rc>4 entonces pueden pasar a la siguiente ronda de 5 preguntas, lo cual cargaria el segundo SWF con las 5 preguntas siguientes.
Ahora... en la pelicula principal lo que tengo en el segundo boton es esto:

on (release) {
i = "i+_Global.rc";
if (i>4) {
loadMovie("seiton.swf", "_root.contenido");
} else {
loadMovie("ERROR.swf", "_root.contenido");
}
}

La cuestion es que si no pasaron la primer prueba no puedan acceder a la segunda, o sea el SWF q carga el segundo boton.
Por lo que si recien entran no puedan acceder mas q al primer boton y luego de haber terminado ese con los 5 aciertos recien puedan acceder al segundo.
Yo creo q la logica q uso esta bien, pero lo q no me ayuda para nada es mis conocimientos de action script jejejeje.
Espero q me puedan ayudar. Muchas Gracias de antemano.

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Jul 2007 07:07 pm
Obviamente el problema lo tenes aca

Código :

i = "i+_Global.rc";

No se q queres hacer con "_Global", pero deberia ser algo mas o menos asi:

Código :

on (release) {
i = Number(_root.contenido.rc);
}

Es decir, buscar dentro de la peli que cargaste, la variable q necesitas, que si prestas atencion, vas a ver q es lo que te vengo diciendo desde el post nº 2 :P

saludos,

D!

Por Dario!

28 de clabLevel



Genero:Masculino  

Capital Federal - BsAs - Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2007 08:16 pm
Ahi esta, lo q pasa q no se como escribirlo bien, y en algunas cosas me ponen busca aca o pone alla y mucho no entinedo =P tenganme pasiencia q estoy empezando. jejeje.
ahora... una ultima pregunta. Para que la variable i valla sumando los resultados? sera q agrego esto:

on (release) {
i = Number(_root.contenido.rc);
p = p+i;
if (i>4) {
loadMovie("seiton.swf", "_root.contenido");
} else {
loadMovie("ERROR.swf", "_root.contenido");
}
}

Entonces en ese caso "p" la estaria usando como contador y puede ir acumulando los resultados de las respuestas?

Por Windrack

5 de clabLevel



Genero:Masculino  

msie7

 

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