Problem: String in Movieclipname ändern (Bildergalerie)

  • Themenstarter Themenstarter bluewing
  • Beginndatum Beginndatum
B

bluewing

Hi !

Ist es irgendwie möglich, in Actionscript Strings in Movieclipnamen zu ändern ? Oder gibt es eine Methode, wie diese Prozedur umgangen werden kann - bzw. weiß jemand, wie man für dynamisch geladene jpegs einen Preloader erstellt ?

das Problem:
PHP:
ladestatus(bild1);
funktioniert, aber:
PHP:
neuername = new Array[Bildanzahl];
neuername[i] = "bild"+i;
ladestatus(neuername[i]);
nicht

hier ist mein code:

PHP:
var Bildanzahl = 1;
untertitel = new Array(Bildanzahl);
format = new Array(Bildanzahl);
neuername = new Array(Bildanzahl);
lademelder = 1;
//loader._visible = false;
untertitel[1] = "bild1";
format[1] = "q";
untertitel[2] = "hoch hinaus";
format[2] = "q";
untertitel[3] = "Toi-Ass Home";
format[3] = "q";
untertitel[4] = "busy bis";
format[4] = "q";
untertitel[5] = "illmatic";
format[5] = "q";
untertitel[6] = "i love HD ...";
format[6] = "q";
untertitel[7] = "stay strong";
format[7] = "q";
untertitel[8] = "on bridge";
format[8] = "q";
untertitel[9] = "Fenster zum Hof";
format[9] = "q";
untertitel[10] = "keep on walking";
format[10] = "q";
untertitel[11] = "follow me";
format[11] = "q";
untertitel[12] = "alte Brücke HD";
format[12] = "q";
untertitel[13] = "in da Schul";
format[13] = "q";
untertitel[14] = "Gg' Kiss";
format[14] = "q";
untertitel[15] = "DJ Vinül Junkie";
format[15] = "h";
untertitel[16] = "Heidelberg";
format[16] = "q";

ladestatus = function (Movieclip) {
	// Einen onEnterFrame-Event erstellen, so dass nun
	// der Ladezustand kontinuierlich abgefragt und
	// angezeigt wird
	loader.onEnterFrame = function() {
		// Geladene und zu ladenede Bytetes abfragen
		geladen = Movieclip.platzhalter_mc.getBytesLoaded();
		zuladen = Movieclip.platzhalter_mc.getBytesTotal();
		// Sicherheitsabfrage, da ein leerer MC so ungefähr
		// 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
		// Ladeanzeige sichtbar machen
		loader._visible = true;
		// Berechnung der bereits geladenen Prozent
		prozent = Math.round(geladen/zuladen*100);
		// Ausgabe im dynamischen Textfeld "prozentanzeige"
		this.prozentanzeige.text = prozent+" Prozent geladen";
		// Skalierung des Balkens anhand der Prozentzahl
		this.balken._xscale = prozent;
		// Wenn komplett geladen
		if (prozent>=100) {
			lademelder = 1;
			// // den EnterFrame-Event löschen um Performance zu sparen
			// delete this.onEnterFrame;
			// // die Ladeanzeige wieder unsichtbar machen
			// this._visible = false;
		} else {
			lademelder = 0;
		}
	};
};
function duplizieren(Hochformat, Querformat, Bildanzahl) {
	for (i=1; i<Bildanzahl+1; i++) {
		if (lademelder == 1) {
			if (format[i] == "q") {
				neuername[i] = "bild"+i;
				Querformat.duplicateMovieClip(neuername[i], i+3);
	with (Querformat.duplicateMovieClip(neuername[i], i+3)) {
					_rotation = -15+random(30);
					_x = random(100);
					_y = random(100);
					_visible = true;
					platzhalter_mc.loadMovie(i+".jpg");
					ladestatus(neuername[i]); // <-- hier liegt das Problem, wenn man das durch bild1 ersetzt, geht es
					bildbeschreibung_txt.text = untertitel[i];
				}
			} else if (format[i] == "h") {
				with (Hochformat.duplicateMovieClip(i, i+3)) {
					_rotation = -15+random(30);
					_x = random(100);
					_y = random(100);
					_visible = true;
					platzhalter_mc.loadMovie(i+".jpg");
					ladestatus(i);
					bildbeschreibung_txt.text = untertitel[i];
				}
			}
		}
	}
}
hochformat_mc._visible = false;
querformat_mc._visible = false;
duplizieren(hochformat_mc, querformat_mc, Bildanzahl);
 
Hi,

mit dem Array-Zugriffsoperator bekommst Du gültige Referenzen zurückgegeben:
PHP:
neuername = new Array[Bildanzahl];
neuername[i] = "bild"+ i;
ladestatus(_root[neuername[i]]);

Gruß
.
 
Vielen Dank für die schnelle Antwort, aber das Problem ist leider noch nicht behoben. Ich stelle hier mal die ".fla" online, damit das Bearbeiten vielleicht leichter fällt.

Galerie.rar
 
Zuletzt bearbeitet von einem Moderator:
Hi,

es muss lauten:
PHP:
ladestatus(this[neuername[i]]);
, denn ich konnte ja nicht wissen, dass sich die Clips nicht auf _root befinden, sondern in einem MovieClip (Galerie).

Also: Immer genug Infos angeben, oder gleich die Datei posten. ;)

Gruß
.
 
Nochmals danke, für das letzte Bild klappt es, aber nicht für alle.

Die Galerie sollte eben so funktionieren, dass der preloader ein Bild vorlädt, und es dann erst erscheint. Im Moment erscheinen erst die Rahmen und dann nacheinander die Bilder, wenn man die galerie im Web anschaut

galerie

Es wäre klasse, wenn das jemand hinbekommen würde, vielleicht kann ich mich ja in irgendeinerweise erkenntlich zeigen.
 
Zurück