El problema es el siguiente:
Por medio de un componente Loader estoy cargando un swf que contiene un formulario de contacto hecho con codigo de AS, y que se complementa con un documento de PHP.
El problema es que cuando reproduzco la pelicula y le doy al botón que activa la carga del swf externo este me carga pero SIN EL TEXTO, es decir sin los campos de texto dinámico. no entiendo por qué, ya que al abrir el swf externo solamente este funciona a la perfección.
Agradezco enormemente cualquier ayuda que puedan darme, aqui coloco todos los codigos de AS que utilizo para ver en donde está el problema, si es que alguno de ellos genera algun conflicto :
Tengo varios mc en la escena principal de mi pelicula, animados mediante un tutorial que tomé de la web de SARGENTO.
En el primer fotograma de la pelicula principal tengo el siguiente codigo:
Código :
ttlSecciones = 8; function fNavegar( activo ){ for( i = 1; i <= _root.ttlSecciones; i++ ){ ref = _root['mc' + i ]; if( ref.identificador <= activo ){ ref.onEnterFrame = function(){ // Incrementamos una fracción de la diferencia this._x += ( this.origenX - this._x ) / 9; // Evaluamos si ha llegado a su destino if( Math.abs( this._x - this.origenX ) < 0.5 ){ // Aseguramos la posición this._x = this.origenX; // Eliminamos la función delete this.onEnterFrame; } } } else { ref.onEnterFrame = function(){ // Incrementamos una fracción de la diferencia this._x += ( this.destinoX - this._x ) / 9; // Evaluamos si ha llegado a su destino if( Math.abs( this._x - this.destinoX ) < 0.5 ){ // Aseguramos la posición this._x = this.destinoX; // Eliminamos la función delete this.onEnterFrame; } } } } } // Ejecutamos la función por vez primera // para mostrar alguna de las secciones fNavegar( 1 ); // mc1
Y dentro de cada uno de los MC el siguiente codigo para que funcione la animacion de desplazamiento:
Código :
// Para 'mc1' this.identificador = 1; this.origenX =90; this.destinoX = 90;
Dentro del MC que cargará el componente loader con el swf externo tengo el siguiente codigo:
//Atacheamos el componente
attachMovie("Loader", "mi_cargador", 1);
//Propiedades
//mi_cargador.setSize(280, 184);
function carga(url) {
mi_cargador._x = 195.6;
mi_cargador._y = 144.1;
mi_cargador.autoLoad = false;
mi_cargador.contentPath = url;
mi_cargador.scaleContent = false;
}
//Eventos de los botones
boton_btn.onPress = function() {
carga("contacto/contacto.swf");
//Atacheamos la barra e iniciamos la carga
attachMovie("barra", "barra_mc", 2);
mi_cargador.load();
barra_mc._x = 195.6;
barra_mc._y = 144.1;
};
//Listener para comprobar la carga
mientrasCarga = new Object();
mientrasCarga.progress = function(evento) {
barra_mc._xscale = mi_cargador.percentLoaded;
trace(mi_cargador.bytesLoaded+" bytes cargados de "+mi_cargador.bytesTotal);
};
//Listener para comprobar si ha cargado del todo
alCargar = new Object();
alCargar.complete = function(evento) {
removeMovieClip(barra_mc);
trace("Has cargado la imagen "+mi_cargador.contentPath);
};
//Eventos
mi_cargador.addEventListener("progress", mientrasCarga);
mi_cargador.addEventListener("complete", alCargar);
Y este es el codigo del SWF EXTERNO que contiene el formulario de CONTACTO:
Código :
//---------------------- boton enviar y validaciones snd.onRelease = function () { ok = 0; //variable bandera arroba = e.text.indexOf("@"); //nos fijamos si hay arroba punto = e.text.indexOf("."); //nos fijamos si hay punto if(n.text == ".: Nombre y Apellido" || n.text == ""){ //si esta vacio o queda escrito el titulo, da error n.text = "Por favor escriba Nombre y Apellido"; //sino da ok = 1 y para n.borderColor = 0x990000; ok = 1; } if(p.text == ".: Nacion y Ciudad" || p.text == ""){ //si esta vacio o queda escrito el titulo, da error p.text = "Por favor esriba su Nacion y Ciudad"; //sino da ok = 1 y para p.borderColor = 0x990000; ok = 1; } if(m.text == ".: mensaje" || m.text == ""){ //si esta vacio o queda escrito el titulo, da error m.text = "complete el campo"; //sino da ok = 1 y para m.borderColor = 0x990000; ok = 1; } //aqui iba campo telefono if (arroba < 1 && punto < 1){ //si esta vacio o queda escrito el titulo, da error e.text = "e-mail inválido"; //sino da ok = 1 y para e.borderColor = 0x990000; ok = 1; } if(ok == 0){ //si ok = 0, o sea q esta todo bien envia(); //llamamos a la funcion envia() s.border = true; //y habilitamos la propiedad border y omstramos q el mensaje se envio correctamente s.borderColor = 0x003366 s.text = "Mensaje enviado"; } } //---------------------- boton borrar clr.onRelease = function () { borrar(); } //--------------------- función de enviado de datos function envia() { //creamos un objeto para enviar al q le asignamos los valores de nustras variables enviar = new LoadVars(); enviar.nombre = n.text; enviar.nacion = p.text; enviar.email = e.text; enviar.mensaje = m.text; enviar.onLoad = function(success) { borrar(); }; // este es el archivo php enviar.sendAndLoad("contacto.php", enviar, "POST"); } //-------------------- función para resetear los campos function borrar (){ n.text = ".: Nombre y Apellido"; p.text= ".: Nacion y Ciudad"; e.text = ".: E-mail"; m.text = ".: Mensaje"; s.text = ""; s.border = false; n.borderColor = 0x003366 p.borderColor = 0x003366 e.borderColor = 0x003366 m.borderColor = 0x003366 } //||||||||||||||||||||||||| ESTILOS ||||||||||||||||||||||||||||||||||||| //------------------ estilo nombre n.text = ".: Nombre y Apellido"; n.border = true; //habilitamos la propiedad border n.background = false; //tambien la prpiedad background n.borderColor = 0x003366 //le damos el color al borde, en este caso azul n.backgroundColor = 0000000 //el color al fondo, aqui blanco n.onSetFocus = function(){ //onSetFocus evento al hacer click en el campo n.backgroundColor = 0xDDDDDD //cambiamos los colores de fondo y borde n.borderColor = 0x003366 n.text = ""; //limpiamos el campo } n.onKillFocus = function(){ //onKillFocus evento al hacer click fuera del campo n.backgroundColor = 0xFFFFFF //restauramos los colores originales n.borderColor = 0x003366 if(n.text == ""){ //si ha quedado vacio restauramos el titulo n.text = ".: Nombre y Apellido"; } } //----------------estilo nacion p.text = ".: Nacion y Ciudad"; e._y = n._y + 25; p.border = true; //habilitamos la propiedad border p.background = false; //tambien la prpiedad background p.borderColor = 0x003366 //le damos el color al borde, en este caso azul p.backgroundColor = 0000000 //el color al fondo, aqui blanco p.onSetFocus = function(){ //onSetFocus evento al hacer click en el campo p.backgroundColor = 0xDDDDDD //cambiamos los colores de fondo y borde p.borderColor = 0x003366 p.text = ""; //limpiamos el campo } p.onKillFocus = function(){ //onKillFocus evento al hacer click fuera del campo p.backgroundColor = 0xFFFFFF //restauramos los colores originales p.borderColor = 0x003366 if(p.text == ""){ //si ha quedado vacio restauramos el titulo p.text = ".: Nacion y Ciudad"; } } //------------------ estilo e-mail e.text = ".: e-mail"; e._y = p._y + 25; //ubicamos el campo en relacion al campo q este por encima e.border = true; //y se repite lo mismo en los demas campos e.background = false; e.borderColor = 0x003366 e.backgroundColor = 0xFFFFFF e.onSetFocus = function(){ e.backgroundColor = 0xDDDDDD e.borderColor = 0x003366 e.text = ""; } e.onKillFocus = function(){ e.backgroundColor = 0xFFFFFF e.borderColor = 0x003366 if(e.text == ""){ e.text = ".: e-mail"; } } //------------------ estilo mensaje m.text = ".: Escriba su Mensaje"; m._y = e._y + 25; m.border = true; m.background = false; m.borderColor = 0x003366 m.backgroundColor = 0xFFFFFF m.onSetFocus = function(){ m.backgroundColor = 0xDDDDDD m.borderColor = 0x003366 m.text = ""; } m.onKillFocus = function(){ m.backgroundColor = 0xFFFFFF m.borderColor = 0x003366 if(m.text == ""){ m.text = ".: Escriba su Mensaje"; } }
Todo me funciona por separado PERFECTAMENTE, pero cuando intento cargarlo dentro de la pelicula principal NO ME CARGA EL TEXTO...les agradezco muchisimo cualquier ayuda! Saludos!