| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| already exist Registriert seit: Sep 2004 Ort: Reutlingen
Beiträge: 150
| Bilder aus XML laden in Reihenfolge
Hallo, es hängt mal wieder und ihr seit meine letzte Rettung ![]() Folgendes, ich hab eine for-Schleife welche eine XML durchgeht welches Pfade zu diversen Bildern enthält und diese dann in eine MovieClip packt damit ich ein Laufband erstellen kann. Dazu verwende ich bei addChild die Variable welche den Loader enthält. Das funktioniert auch super nur ist es so das die Bilder unterschiedlich breit sind. Nun könnte ich ja ein ContentLoaderInfo nehmen denn damit kann ich ja die Breite auslesen nur leider wird dabei die Reihenfolge der Bilder zerstört da er sobald das Bild geladen ist es irgendwo hin packt. Mein frage wie kann ich es steuern das 1. Die Bildreihenfolge eingehalten wird und 2. das die Abstände der Bilder unterschiedlich sein können. Ich hab mal mein Script angehängt, vielleicht hilft es was ![]() Danke schon einmal für Durchlesen. Code: for (var i=0; i < xmlFile.children().length(); i++) {
var productImage=new Loader;
productImage.load(new URLRequest(xmlFile.children()[i].@thumb));
var image=new ImageContainer;
image.addChild(productImage);
image.x+= xPos;
mc.addChild(image);
xPos=xPos + 150;
}
__________________ www.broud.de |
| | |
| | #2 (permalink) |
| as3 addict Registriert seit: Jun 2002 Ort: Leipzig
Beiträge: 351
|
also schnellschuß würde ich sowas in der Art machen. Kommentare müsstest du selbst füllen :PHP-Code: |
| | |
| | #3 (permalink) |
| already exist Registriert seit: Sep 2004 Ort: Reutlingen
Beiträge: 150
|
So ich hab endlich was brauchbares hinbekommen. Zwar ist es nicht die Eleganteste art aber es Funktioniert und was will man mehr ![]() Code: package {
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class Main extends MovieClip {
public var fileURL:String="images.xml";
var imageURLArray : Array = new Array();
var loaderArray:Array = new Array();
var counter : Number = 0;
public var xmlNodes:XMLList;
public var currentImage:Number=0;
public var motion;
public var mc:MovieClip = new MovieClip;
public var xmlFile:XML;
public var realLength;
public var readlWidth;
public var tmpArray:Array = new Array;
public var xPos=0;
public var key=0;
public var Xpos = 0;
public var k = 0;
public function Main() {
container.addChild(mc);
loadFile(fileURL);
}
public function enter_frame(event) {
readlWidth = mc.width/3;
if (mouseX > 490) {
mc.x += (480-mouseX)*0.025;
}
if (mouseX < 440) {
mc.x += (450-mouseX)*0.025;
}
if (Math.round(mc.x) < -readlWidth*2) {
mc.x = 0;
}
if (Math.round(mc.x) > -0) {
mc.x = -readlWidth*2;
}
}
public function loadFile(xml) {
var loader=new URLLoader;
loader.addEventListener(Event.COMPLETE,readFile);
loader.load(new URLRequest(xml));
}
public function readFile(event:Event) {
XML.ignoreWhitespace=true;
xmlFile =new XML(event.target.data);
xmlNodes=xmlFile.children();
creatNav();
}
public function creatNav():void {
var zahl;
var abs;
while (xmlFile.children().length() < 6) {
var copyNode = xmlFile.children().copy();
xmlFile.appendChild(copyNode);
}
realLength = xmlFile.children().length();
var copyNodeBevor = xmlFile.children().copy();
var copyNodeAfter = xmlFile.children().copy();
xmlFile.appendChild(copyNodeBevor);
xmlFile.appendChild(copyNodeAfter);
for (var i=0; i < xmlFile.children().length(); i++) {
var imageLoader=new Loader;
imageLoader.load(new URLRequest(xmlFile.children()[i].@thumb));
imageLoader.contentLoaderInfo.addEventListener(Event.INIT, onComplete);
var tmpObject = new Object;
tmpObject.loaderObj = imageLoader;
tmpObject.imageObj = xmlFile.children()[i].@thumb;
tmpArray.push(tmpObject);
}
addEventListener(Event.ENTER_FRAME, enter_frame);
}
function onComplete(event : Event):void {
if ( k == xmlFile.children().length()-1) {
buildImages();
} else {
k++;
}
}
public function buildImages() {
var xPos=0;
var abs;
for (var i=0; i < xmlFile.children().length(); i++) {
var productImage=new Loader;
productImage.load(new URLRequest(xmlFile.children()[i].@thumb));
var image=new ImageContainer;
image.addChild(productImage);
image.x+= xPos;
mc.addChild(image);
xPos=xPos + tmpArray[i].loaderObj.width;
}
var pos = (realLength)*150;
mc.x = -pos;
}
}
}
__________________ www.broud.de Geändert von broud (06-10-2008 um 08:38 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |