Loader lädt Bild nicht [Flash 11]
| Beiträge: 1 Registriert: Apr 2012
| 03.04.2012, 19:35
Hallo, ich bin ziemlich neu in Flash deswegen bitte ich um nachsehen :)
Ich versuche aus einer XML Datei Bilder in ein Array zu laden. Das funktioniert meines Wissens auch sehr gut. Nur wenn ich die Bilder auf die Bühne bringen will kommt immer ein Fehler. vielleicht findet jemand den Fehler und kann mir weiterhelfen. Vielen Dank schon mal
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import gs.TweenLite;
import gs.easing.Quint;
import flash.display.MovieClip;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Loader;
public class coverflow extends Sprite
{
var images:Array = new Array();
//var imgNum:Number;
var currentItem:Number = 0;
var angle:Number = 25;
var galleryXML:XML;
public function coverflow()
{
addEventListener(Event.ADDED_TO_STAGE,onStart);
}
protected function onStart(event:Event):void
{
createCover();
animate();
}
function createCover():void
{
var view = new MovieClip();
view.x = stage.stageWidth / 2;
view.y = stage.stageHeight / 2;
addChild(view);
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("xml/gallery.xml"));
xmlLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void
{
galleryXML = new XML(e.target.data);
for (var i:int = 0; i < galleryXML.image.length(); i++)
{
//trace("Lade Bild mit der ID " + galleryXML.image[i].@id);
//trace(galleryXML.image[i].url.text());
var cover = new Object();
cover.url = galleryXML.image[i].url.text();
//images.push('"./'+cover.url+'"');
var imgLoader:Loader = new Loader();
imgLoader.load(new URLRequest(i));
view.addChild(imgLoader);
}
}
/*function loadImages():void
{
imgLoader.load(new URLRequest(images[0]));
view.addChild(imgLoader);
var cover_mc:Cover = new Cover();
images.push(cover_mc);
cover_mc.addEventListener(MouseEvent.CLICK, onClick);
cover_mc.name = String(i);
view.addChild(cover_mc);
animate();
trace(images);
}*/
}
protected function onClick(evt:MouseEvent):void
{
currentItem = Number(evt.target.name);
animate();
}
protected function animate():void
{
for (var i:int = 0; i < images.length; i++)
{
var imgLoader:Loader = images[i];
//Each if statement will adjust these numbers as needed
var cover_mcX:Number = 0;
var cover_mcZ:Number = -200;
var cover_mcRotationY:Number = 0;
//Place & Animate Center Item
if ((i == currentItem))
{
cover_mcZ = -300;
TweenLite.to(imgLoader,.5,{rotationY:cover_mcRotationY,x:cover_mcX,z:cover_mcZ,ease:Quint.easeInOut});
}
//Place & Animate Right Items
if ((i > currentItem))
{
cover_mcX = (((i - currentItem) + 1) * 60);
cover_mcRotationY = angle + 10 * (i - currentItem);
TweenLite.to(imgLoader,.5,{rotationY:cover_mcRotationY,x:cover_mcX,z:cover_mcZ,ease:Quint.easeInOut});
}
//Place & Animate Left Items
if ((i < currentItem))
{
cover_mcX = (((currentItem - i) + 1) * -60);
cover_mcRotationY = - angle - 10 * (currentItem - i);
TweenLite.to(imgLoader,.5,{rotationY:cover_mcRotationY,x:cover_mcX,z:cover_mcZ,ease:Quint.easeInOut});
}
}
}
}
}
|
| | | Beiträge: 3000 Wohnort: Köln Registriert: Oct 2007
| 03.04.2012, 20:46
|
|