Dynamiczne zdjęcia + linki

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
karolz
Posty: 3
Rejestracja: pn sie 11, 2008 10:18 am

Dynamiczne zdjęcia + linki

Post autor: karolz »

Witam,

siedzę już nad tym którąś godzinę i już się powoli poddaje, bo pomysły mi się kończą... próbuje załadować więcej obrazków z xml'a, z czego każdy z nich miałby być linkiem do czegokolwiek.

W skrócie:

Kod: Zaznacz cały


function parseXML(plikXML:XML) {
	imgs = plikXML.firstChild.childNodes.length;

	var xCo:Number = 0;
	var i = 0;
	var firstWidth:Number = 0;
	for (i=0; i<imgs; i++) {
		var image:String = plikXML.firstChild.childNodes[i].attributes.src;
		var imageWidth:Number = plikXML.firstChild.childNodes[i].attributes.imgWidth;
		var imageHeight:Number = plikXML.firstChild.childNodes[i].attributes.imgHeight;
		imgWidth = new Number(imageWidth);
		imgHeight = new Number(imageHeight);

		var act:Number = i+1;

		putImage(image, xCo, imgWidth, imgHeight, i);

		xCo += imgWidth + 10;
	}
}

var bgLoadListener:Object = new Object();
var bgmcLoader:MovieClipLoader = new MovieClipLoader();

function putImage(img_src:String, xCo, imgWidth, imgHeight, i) {
	bgLoadListener.nr = i;

	var bg_container:MovieClip = this.createEmptyMovieClip("pic"+bgLoadListener.nr, this.getNextHighestDepth());

	var imgDepth:Number = bg_container.getNextHighestDepth();
	bg_container.createEmptyMovieClip("img" + bgLoadListener.nr, imgDepth);

	bg_container["img"+bgLoadListener.nr]._x = xCo;	

	bgLoadListener.onLoadStart = function(target_mc:MovieClip):Void {
		bg_container["img" + this.nr]._alpha = 0;
	}

	bgLoadListener.onLoadInit = function(target_mc:MovieClip):Void {
		TweenLite.to(bg_container["img" + this.nr], 0.5, {_alpha:100, onComplete:removeClip, onCompleteParams:[bg_container["img" + (this.nr-1)]]});
	}

	bgLoadListener.onLoadComplete = function(target_mc:MovieClip):Void {
		var parentMC:MovieClip = bg_container["img"+this.nr];
		parentMC.nr = this.nr;

		parentMC.onRelease = function() {
			trace("klikniete"+this.nr);
		}
	}

	bgmcLoader.addListener(bgLoadListener);
	bgmcLoader.loadClip(img_src, bg_container["img" + bgLoadListener.nr]);
}

Próbuję tego onRelease'a wsadzić zarówno do onLoadComplete, jak i do onLoadInit - cały czas nic. Generalnie to rezultat jest taki, że obrazki się ładują, ale tylko ostatni z nich jest linkiem. Mógłby mnie ktoś oświecić i pomóc rozwiązać ten problem? Z góry dziękuję.
karolz
Posty: 3
Rejestracja: pn sie 11, 2008 10:18 am

Re: Dynamiczne zdjęcia + linki

Post autor: karolz »

Właśnie sobie poradziłem :)

Wystarczyło przenieść

var bgLoadListener:Object = new Object();
var bgmcLoader:MovieClipLoader = new MovieClipLoader();

wewnątrz putImage() i jest ok.
ODPOWIEDZ