Respuesta: Pregunta sobre desplazamiento de objeto (juego de cartas) Hola Morti, gracias por toda la información. He conseguido realizar este código pero todo funciona menos la llamada de las imágenes externas que tiene que cargar en cada carta, porque me sale este error:
http://localhost/web/fotos/8.jpg
Error #2044: IOErrorEvent no controlado: text=Error #2124: El archivo cargado es de tipo desconocido.
La ruta es correcta. Te envio el código completo, a ver si nos puedes decir cual puede ser el error. Porque no lo veo.
Un saludo.
import flash.events.MouseEvent;
import flash.display.MovieClip;
/// -------------------------------------------------- XML -------------------------------
//Asigno la url que se va a cargar
var url:String = "xml.php"; /// RANDOM SQL LIMIT 10
var XmlExterno:XML;
var i = 0;
var fotos:Array = new Array();
//Carga el XML
function CargarXML() {
//Creo el objeto cargador
var loader:URLLoader = new URLLoader();
//Le añado los listeners
ponerListeners(loader);
//Creo el objeto que contendrá la petición
var peticion:URLRequest = new URLRequest(url);
//Cargo la petición
loader.load(peticion);
}
//Añade los listeners al cargador
function ponerListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
//Funcion que se ejecuta cuando termina la descarga.
function completeHandler(event:Event):void {
var cargador:URLLoader = event.target as URLLoader;
XmlExterno = new XML(cargador.data);
for each(var nodo:XML in XmlExterno.elements()){
fotos[i]=nodo.foto;
i++;
}
}
//Empezamos
CargarXML();
/// -------------------------------------------------- XML -------------------------------
var pos = 0;
var n;
var posicion_y:Array = new Array(305,400.6,500.0,306.0,160.3,306.0,520,400,28 0,160.3);
var posiciones:Array = new Array(252.4,352,252.4,118,252.4,381.5,500,500,500, 500);
carta1.addEventListener(MouseEvent.CLICK, mover);
carta2.addEventListener(MouseEvent.CLICK, mover);
carta3.addEventListener(MouseEvent.CLICK,mover);
carta4.addEventListener(MouseEvent.CLICK, mover);
carta5.addEventListener(MouseEvent.CLICK, mover);
carta6.addEventListener(MouseEvent.CLICK, mover);
carta7.addEventListener(MouseEvent.CLICK, mover);
carta8.addEventListener(MouseEvent.CLICK, mover);
carta9.addEventListener(MouseEvent.CLICK, mover);
carta10.addEventListener(MouseEvent.CLICK, mover);
carta11.addEventListener(MouseEvent.CLICK, mover);
carta12.addEventListener(MouseEvent.CLICK, mover);
carta13.addEventListener(MouseEvent.CLICK, mover);
carta14.addEventListener(MouseEvent.CLICK, mover);
carta15.addEventListener(MouseEvent.CLICK, mover);
carta16.addEventListener(MouseEvent.CLICK, mover);
carta17.addEventListener(MouseEvent.CLICK, mover);
carta18.addEventListener(MouseEvent.CLICK, mover);
carta19.addEventListener(MouseEvent.CLICK, mover);
carta20.addEventListener(MouseEvent.CLICK, mover);
carta21.addEventListener(MouseEvent.CLICK,mover);
carta22.addEventListener(MouseEvent.CLICK, mover);
carta23.addEventListener(MouseEvent.CLICK, mover);
carta24.addEventListener(MouseEvent.CLICK, mover);
carta25.addEventListener(MouseEvent.CLICK, mover);
carta26.addEventListener(MouseEvent.CLICK, mover);
carta27.addEventListener(MouseEvent.CLICK, mover);
carta28.addEventListener(MouseEvent.CLICK, mover);
carta29.addEventListener(MouseEvent.CLICK, mover);
carta30.addEventListener(MouseEvent.CLICK, mover);
function mover(e:MouseEvent):void{
this[e.target.name].x = posiciones[pos];
this[e.target.name].y = posicion_y[pos];
// Agregamos el Movie Clip
var contenedorMC:MovieClip = new MovieClip();
addChild(contenedorMC);
// Declaro objeto Loader
var loader:Loader = new Loader();
//loader.load(new URLRequest(this.fotos[pos]));`
n = trace(fotos[pos]);
loader.load(new URLRequest("http://localhost/web/fotos"+n+".jpg"));
// trace(fotos[pos]);
//Lo coloco en su posicion, por ejemplo
loader.x=posiciones[pos]+10;
loader.y=posicion_y[pos]+10;
// lo añado dentro del MovieClip creado antes
if( pos == 1 )
{
this[e.target.name].rotation = 90;
contenedorMC.addChild(loader).rotation = 90;
loader.x=posiciones[pos]-8;/// ROTAR MOVIE CLIP
} else
{
contenedorMC.addChild(loader);
}
pos++;
if( pos == posiciones.length )
removeListeners();
}
function removeListeners():void{
carta1.removeEventListener(MouseEvent.CLICK, mover);
carta2.removeEventListener(MouseEvent.CLICK, mover);
carta3.removeEventListener(MouseEvent.CLICK, mover);
carta4.removeEventListener(MouseEvent.CLICK, mover);
carta5.removeEventListener(MouseEvent.CLICK, mover);
carta6.removeEventListener(MouseEvent.CLICK, mover);
carta7.removeEventListener(MouseEvent.CLICK, mover);
carta8.removeEventListener(MouseEvent.CLICK, mover);
carta9.removeEventListener(MouseEvent.CLICK, mover);
carta10.removeEventListener(MouseEvent.CLICK, mover);
carta11.removeEventListener(MouseEvent.CLICK, mover);
carta12.removeEventListener(MouseEvent.CLICK, mover);
carta13.removeEventListener(MouseEvent.CLICK, mover);
carta14.removeEventListener(MouseEvent.CLICK, mover);
carta15.removeEventListener(MouseEvent.CLICK, mover);
carta16.removeEventListener(MouseEvent.CLICK, mover);
carta17.removeEventListener(MouseEvent.CLICK, mover);
carta18.removeEventListener(MouseEvent.CLICK, mover);
carta19.removeEventListener(MouseEvent.CLICK, mover);
carta20.removeEventListener(MouseEvent.CLICK, mover);
carta21.removeEventListener(MouseEvent.CLICK, mover);
carta22.removeEventListener(MouseEvent.CLICK, mover);
carta23.removeEventListener(MouseEvent.CLICK, mover);
carta24.removeEventListener(MouseEvent.CLICK, mover);
carta25.removeEventListener(MouseEvent.CLICK, mover);
carta26.removeEventListener(MouseEvent.CLICK, mover);
carta27.removeEventListener(MouseEvent.CLICK, mover);
carta28.removeEventListener(MouseEvent.CLICK, mover);
carta29.removeEventListener(MouseEvent.CLICK, mover);
carta30.removeEventListener(MouseEvent.CLICK, mover);
} |