Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-03-2010, 16:24   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 2
Problem mit Schleife

Hallo,
ich habe ein Problem mit einer bestimmten Schleife. Ich möchte in einer Schleife Bilder, deren Pfade in einem Array (fotos) abgelegt sind, zufällig platzieren. Zum ermitteln der Position habe ich eine Funktion geschrieben, die heißt randomPos() und die funktioniert auch. Nach vielen Lösungsversuchen (wozu ich auch schon ausgiebig die Suchmaschienen bemüht habe) ist für die platzierende Funktion folgendes raus gekommen:
Code:
function place(fotos:Array, imgs:Array, mcls:Array, dir:String):Void{
	dir = "foto/"+dir+"/";
	//Array : xmin, ymin, xmax, ymax, xscale,  yscale
	var pos = new Array(0, 60, 540, 380, 50, 50);
	for(var i:Number = 0; i < fotos.length; i++){
		scaleImg(imgs[i], pos[4], pos[5]);
		mcls[i].loadClip(dir+fotos[i], imgs[i]);
		mcls[i].onLoadInit = function(){
			var dim = new Array(imgs[i]._width, imgs[i]._height);
			var position = new Array();
			position = randomPos(pos, dim);
			posImg(imgs[i], position);
		}
	}
}
imgs ist ein Array mit MovieClips, mcls beinhaltet MovieClipLoader, dir ist der Unterordner der Fotos. posImg ist eine Funktion, sie positioniert MovieClips, wobei die Position aus einem Array stammt [0]->x, [1]->y.

Das Problem ist. Es wird immer nur ein Foto und das immer nur oben links in der Ecke angezeigt. Ich hatte zwischendurch auch mal den Zustand, dass immer ein Foto angezeigt wurde und zwar an unterschiedlichen Positionen.
Für mich sieht das alles so aus, als würde die Schleife nicht durchlaufen (obwohl die Feldlänge 11 ist), weil auch immer das gleiche Bild zu sehen ist.

Ich bin auch sehr erfreut darüber, wenn mir jm. sagt, dass es eigentlich totaler Bockmist ist, wie ich das ganze programmiere, wenn er denn eine Lösung parat hat ;-). Die Funktion sollte Bilder, deren Pfade in einem Array sind (alle) zufällig platzieren, die Positionen liegen im Format eines Arrays, 0tes Element enthält x, das 1te y vor.

Geändert von ar.thie (12-03-2010 um 16:25 Uhr)
ar.thie ist offline   Mit Zitat antworten
Alt 12-03-2010, 17:21   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 2
O.K., so funktioniert das halbwegs, allerdings bin ich zu blöd dazu zu verstehen, warum:

Code:
function place(foto:Array, dir:String):Void{
	dir = "foto/"+dir+"/";
	//xmin, ymin, xmax, ymax, xscale, yscale
	var pos = new Array(0, 60, 540, 380, 50, 50);
	var bilder:Array = new Array();
	for(var i:Number = 0; i < foto.length; i++){
		bilder[i] = this.createEmptyMovieClip("clip"+i, i);
		scaleImg(bilder[i], pos[4], pos[5]);
		var dim = new Array(200, 200);
		var position:Array = new Array();
		position = randomPos(pos, dim);
		posImg(bilder[i], position);
		bilder[i].loadMovie(dir+foto[i]);
	}
}
manchmal muss man sich wohl bloß ausheulen, damit es funktioniert.
ar.thie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as 2.0, bilder, schleife

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit for-schleife alaaf ActionScript 1 4 01-05-2008 16:28
Problem mit for-Schleife der_markus ActionScript 2 10 19-06-2007 15:48
problem mit for schleife vandyce ActionScript 1 4 15-06-2004 13:28
problem mit schleife RAMSEI ActionScript 1 2 21-01-2004 14:16
problem mit schleife bleier116 PHP und MySQL 9 19-11-2003 18:30


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele