PDA

Volledige versie bekijken : Moviecliploader om array met bestandsnamen uit te lezen werkt niet


iamdesign
%Europe/Berlin %671 %2008, 16:06
Hoy iedereen,

Ik zit met het volgende probleem: ik wil een dynamische thumbnail scroller maken die bestandsnamen uitleest uit xml.

Nu tot dit punt deed hij alles (hij creeert de movieclips, hij positioneert ze goed en hij haalt alle bestandsnamen uit de xml.
Nu wilde ik in de container van mijn thumbnailmovieclip de images inladen en hier faalt hij om voor mij onbekende reden.

Hij laad de eerste file in (ik krijg een trace), maar al de rest doet hij niet????

Hoe komt dit precies :-)

Alvast superbedankt moest je me kunnen helpen !!


import gs.dataTransfer.XMLParser;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var wortel:MovieClip = this;
var product_xml = new Object();

var clipLoader:MovieClipLoader = new MovieClipLoader();
var clipLoaderListener:Object = new Object();

var pad:String = "rotator.xml";

// Laad menuitems
XMLParser.load(pad, onFinish, product_xml);

function onFinish(success_boolean, results_obj, xml)
{
if (success_boolean)
{
laadFoto();
}
}

function laadFoto(){
var productlijst:MovieClip = wortel.createEmptyMovieClip("productlijst_mc", wortel.getNextHighestDepth());
productlijst._x = 20;
productlijst._y = 10;

// Overloop alle xml foto's
for(var i:Number = 0; i<product_xml.foto.length; i++)
{
// Maak een container aan voor de foto + positioneer
var temp:MovieClip = productlijst.attachMovie("product", "product_mc", productlijst.getNextHighestDepth());
temp._x = (temp._width * i) + (10*i);

// Laad foto in adh het pad uit de xml

clipLoader.loadClip(product_xml.foto[i].url[0].value, temp.container);

}
}

clipLoaderListener.onLoadInit = function(target_mc:MovieClip) {
trace("Begonnen met " + target_mc + " te laden");
};

clipLoaderListener.onLoadComplete = function(target_mc:MovieClip, status:Number):Void {
trace(target_mc + " is geladen! "+status );
};

clipLoader.addListener(clipLoaderListener);

Folkert
%Europe/Berlin %684 %2008, 16:25
trace eens de code

temp._x = (temp._width * i) + (10*i);


Denk dat het daar inzit. Normaliter gebruik je attached movieClips pas een frame later dan de attach ;)

iamdesign
%Europe/Berlin %751 %2008, 18:01
Bedankt voor je antwoord, maar dat is het probleem niet.

Kijk hier voor een screenshot:

SCREENIE (http://www.iamdesign.be/flashfocus/probleem.png)

Zoals je ziet maakt hij dus al die movieclips aan (groene border met blauwe bg met witte gaten (dit is de container waar een image in moet geladen worden)

Zo zie je ook dat hij de eerste movieclip container goed invult (ik werk om te testen met gekleurde vakjes :)) dus paars is bv 1.jpg uit de xml, 2.jpg is een ander kleur.

Maar bij de moviecliploader onComplete event traced hij dus ook maar 1x dat hij de eerste heeft ingeladen.
Maar al de rest doet hij niet.

Enige raad? :)

iamdesign
%Europe/Berlin %759 %2008, 18:13
OK ik heb het gevonden :)

het probleem was dat ik vergeten was bij men attachmovie de instancename te veranderen...dus nu hadden ze allemaal dezelfde naam.

maw
var temp:MovieClip = productlijst.attachMovie("product", "product_mc", productlijst.getNextHighestDepth());

moet

var temp:MovieClip = productlijst.attachMovie("product", "product"+i+"_mc", productlijst.getNextHighestDepth());

worden.

Djeezes dat ik daar zo lang over heb moete zoeken :D