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

Problema con _global.variable

Estas en el tema de Problema con _global.variable en el foro de Flash y Actionscript en Foros del Web. Hola. Tengo una escena con 5 botones que deberán abrir respectivamente sus archivos externos .swf. En la escena principal, en la capa variables están declaradas ...
  #1 (permalink)  
Antiguo 14/04/2009, 13:55
 
Fecha de Ingreso: marzo-2009
Ubicación: Elda - Alicante
Mensajes: 55
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema con _global.variable

Hola.

Tengo una escena con 5 botones que deberán abrir respectivamente sus archivos externos .swf.
En la escena principal, en la capa variables están declaradas estas variables:

Código:
_global.journeyv = false;
_global.ridersv = false;
_root.journeyv = false;
_root.ridersv = false;
luego en cada botón pone esto, por ejemplo en el boton riders:

Código:
on (release) {
	_root.fondoi.gotoAndPlay(30);
	_root.botonesi.gotoAndPlay(30);
	_root.ridersv = true;
	
}
Como veis, al soltar nos activa la variable ridersv y la pone en true, también nos lleva a un MC, nombre instancia fondoi, frame 30 y hace una animación de salida de la escena.
En el frame 45 hay una condición:

Código:
if (_root.ridersv = true){
	_root.gotoAndPlay(2);
}
Si la variable es verdadera entonces me manda a la escena principal, frame 2 donde hay un clip contenedor vacio y se carga el .swf correspondiente al boton riders. Hasta ahí todo bien.
(En la escena principal frame 3 hay contenido un movie externo journey.swf, en el frame 4 otro y así hasta completar todos los botones y todos los.swf)

Problema: Cuando repito todo este proceso para hacer lo mismo con el siguiente botón, siempre me carga el .swf contenido en el frame2.

Pienso que el problema está en que la variable se tiene que pasar a true SÓLO cuando se pulse el botón, pero no sucede esto, lo que sucede es que todas las variables pasan a valer true por estar declaradas _global o algo así y entonces pinches el botón que pinches se activa siempre la carga de riders.swf que es la primera condición que encuentra flash (está en una capa por encima y el contenedor en un frame antes (2))

Para comprobarlo hice esto:
primero pinchamos en el botón riders (se activa supuestamente la variable riders) y después en el fotograma 45 de fondoi , está escrito sólo esto:
Código:
if (_root.journeyv = true){
	_root.gotoAndPlay(2);
}
Si pincho el botón riders y me manda a la condición con la variable journey, no debería suceder nada, ya que el botón riders ACTIVA A TRUE LA VARIABLE RIDERSV y no la variable journeyv.

pienso que tiene que ver con la declaración _global.

Cómo puedo hacer que cambie el valor de la variable sólamente en la acción del botón?

Gracias y perdón por el ladrillo.
  #2 (permalink)  
Antiguo 14/04/2009, 17:06
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Problema con _global.variable

Hola Pantanico:
Si tú quieres es cargar tus películas con un efecto que tienes en la principal, ya respodi la forma de hacerlo, búscalo dentro de mis mensajes.

Espero que te sea de utilidad.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 15/04/2009, 07:38
 
Fecha de Ingreso: marzo-2009
Ubicación: Elda - Alicante
Mensajes: 55
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con _global.variable

Hola Bandit, gracias por contestar.

Tiene relación con aquello, pero este problema me ha surgido con un planteamiento diferente en otra sección de la página que estoy haciendo integramente en flash.

En este caso quiero saber por qué cuando cambio el valor de false a true de una variable global al pulsar un botón, descubro que el resto de variables también han cambiado a true, sin yo haber accionado esos botones.

Quiero saber cómo debería declarar las variables correctamente o cuál es el error para hacerlo bien.
A lo mejor es muy evidente pero las cosas simples a veces se me escapan, soy principiante y son muchos detalles a tener en cuenta.

Si tu enseñas yo encantado de aprender.
Un saludo.
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 18:47.