Mi problema es el siguiente:
Estoy haciendo una animacion en flash que podriamos decir que consta de dos partes, aunque estan dentro de la misma escena. La primera la tipica animacion en la que puedes cambiar colores a distintas partes del objeto (una camiseta) y la otra es un formulario.
A base de tutoriales he conseguido que funcionen las dos partes pero ahora necesito que junto al formulario se envie los valores de los colores que hemos elegido anteriormente. Esto se puede hacer??
el codigo de la animacion vendria a ser:
import flash.events.MouseEvent;
/// variables color 1
var blanco:ColorTransform = transform.colorTransform;
blanco.color = 0xFFFFFF;
var crema:ColorTransform = transform.colorTransform;
crema.color = 0xFFFF99;
var allo:ColorTransform = transform.colorTransform;
allo.color = 0xFFFF00;
... y asi con todos los colores
//// modificar colores
Blanco1.addEventListener(MouseEvent.CLICK, blanco001);
function blanco001(evento:MouseEvent):void{
color1.transform.colorTransform = blanco;
}
Blanco2.addEventListener(MouseEvent.CLICK, blanco002);
function blanco002(evento:MouseEvent):void{
color2.transform.colorTransform = blanco;
}
Blanco3.addEventListener(MouseEvent.CLICK, blanco003);
function blanco003(evento:MouseEvent):void{
color3.transform.colorTransform = blanco;
}
Blanco4.addEventListener(MouseEvent.CLICK, blanco004);
function blanco004(evento:MouseEvent):void{
color4.transform.colorTransform = blanco;
}
Blanco5.addEventListener(MouseEvent.CLICK, blanco005);
function blanco005(evento:MouseEvent):void{
puños.transform.colorTransform = blanco;
}
/// paso al formulario
Siguiente_btn.addEventListener(MouseEvent.CLICK, siguiente);
function siguiente(evento:MouseEvent):void{
gotoAndStop(40)
Este codigo esta resumido, creo que esta es la parte que interesa para la pregunta.
Ahora el codigo del formulario, este lo pongo entero ya que no es muy largo y sopongo que sera ahi donde hay que realizar los cambios.
import flash.events.Event;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.IOErrorEvent;
stop();
System.useCodePage=true;
//*para colocar el cursor en el campo nombre_cont
nombre_cont.stage.focus=nombre_cont
//*boton borrar
borrar_btn.addEventListener(MouseEvent.CLICK,borrar);
function borrar(event:MouseEvent):void{
nombre_cont.text="";
poblacion_cont.text="";
email_cont.text="";
telefono_cont.text="";
unidades_cont.text="1";
pers_cont.selected=false;
numero_cont.selected=false;
logos_cont.selected=false;
comentario_cont.text="";
}
//*para enviar y validar los datos
enviar_btn.addEventListener(MouseEvent.CLICK, validarFormulario);
//*I Parte validar campos
function validarFormulario(event:Event):void {
errores_cont.text="";
if (nombre_cont.text.length==0) {
errores_cont.text="NO HA INTRODUCIDO NOMBRE";
nombre_cont.stage.focus=nombre_cont;
//*return false; no se que hace pero con no esto no funciona la animacion
} else if (poblacion_cont.text.length==0) {
errores_cont.text="NO HA INTRODUCIDO POBLACION";
poblacion_cont.stage.focus=poblacion_cont;
//*return false;
} else if (!esMail(email_cont.text)) {
errores_cont.text="NO ES UN E-MAIL VALIDO";
email_cont.text="";
email_cont.stage.focus=email_cont;
//*return false;
} else if (telefono_cont.text.length==0) {
errores_cont.text="NO HA INTRODUCIDO TELEFONO";
telefono_cont.stage.focus=telefono_cont;
//*return false;
}
}
function esMail(mail:String) {
if (mail.indexOf("@")>0&&mail.indexOf("@")==mail.lastIndexOf("@")) {
if (mail.lastIndexOf(".")>mail.indexOf("@")+1&&mail.lastIndexOf(".")) {
return true;
} else {
return false;
}
} else {
return false;
}
}
//*II Parte Envio de datos
enviar_btn.addEventListener(MouseEvent.CLICK,enviar);
function enviar(event:MouseEvent):void{
var envio:URLVariables = new URLVariables();
envio.nombre=nombre_cont.text;
envio.poblacion=poblacion_cont.text;
envio.email=email_cont.text;
envio.telefono=telefono_cont.text;
envio.unidades=unidades_cont.text;
envio.pers=pers_cont.selected;
envio.numero=numero_cont.selected;
envio.logos=logos_cont.selected;
envio.comentario=comentario_cont.text;
// aqui hay que añadir el modelo y los colores de cada MC
var urlPhp:URLRequest= new URLRequest("mail.php")
urlPhp.method=URLRequestMethod.POST;
urlPhp.data=envio;
var enviar:URLLoader=new URLLoader();
enviar.addEventListener(Event.COMPLETE,enviado);
enviar.addEventListener(IOErrorEvent.IO_ERROR,erroNoEnvio);
enviar.load (urlPhp);
trace (envio)
}
function enviado(event:Event):void {
errores_cont.text="MENSAJE ENVIADO.";
}
function erroNoEnvio(event:IOErrorEvent):void {
errores_cont.text="ERROR. INTENTALO DE NUEVO.";
}
}
De antemano os doy las gracias, ya solo por haber leido este tocho, y lo dicho si alguien sabe de un post donde hablen de este tema, agradeceria que me enviasen alli. Y si alguien sabe que codigo tengo que añadir se lo agredeceria en el alma, ya no se donde acudir.
p.d. el codigo del formulario tambien me da algun problemilla, creo que porque uso para validar el formulario el mismo boton que para enviar, o como lo he sacado de dos tutoriales distintos, seguramente se pisen el uno al otro, pero este problema no me inquieta tanto como el otro