Auf gekachelten Bg. leeren MC legen

senor_max

Mitglied
Hallo Bastlergemeinde,

hänge zur Zeit an einem kleinen Problemchen, bei dem ich mich über Hilfe freuen
würde.

Habe folgendes Kachel-Script, was auch so wunderbar funktioniert:

PHP:
Stage.scaleMode = "noScale";
var br = Stage.width/this.bg._width;
var ko = br;
for (i=0; i<ko; i++) {
this.bg.duplicateMovieClip("dup"+i, i);
this["dup"+i]._x = (i%br)*this.bg._width;

Das Problem:

Würde jetzt gerne eine eine SWF-Datei drüberladen bzw. über einen leeren MC
die SWF-Datei über den gekachelten Bg laden.
Habe schon einiges versucht - leider liegt der MC entweder unter dem Bg-Bild oder wenn
er dann drüber liegt, wird er mit gekachelt (was er ja nicht soll).
Die einzige Möglichkeit die bis jetzt geklappt hat ist über "loadMovie("test.swf",1);".
Jedoch kann ich bei dieser Version dann nicht über eine Stage-Funktion die SWF-Datei
auf der Bühne zentrieren.

Frage:
Wie bekomme ich ein MC über die BG-Kachel?

Über Hilfe/Anregungen würde ich mich sehr freuen!
 
Hallo,

wenn du für den Flash Player 7 exportierst, kannst du dir mittels nextHighestDepth die höchste Tiefenebene ausgeben lassen und die swf dann dort hinladen:
Code:
var u = this.getNextHighestDepth();
var mc = this.createEmptyMovieClip("meinMovieClip", u);
mc.loadMovie("meineExterne.swf");

Wenn du für Flash Player 6 exportierst, könntest du einfach den i-Wert, den du eh auch für Tiefenebenen-Verteilung benützst, bei jeder Schlaufen-Abarbeitung zwischenspeichern und am Schluss i+1 als Tiefenebene für den Container deiner externen Datei wählen:

Code:
var br = Stage.width/this.bg._width;
var ko = br;
for (i=0; i<ko; i++) {
     this.bg.duplicateMovieClip("dup"+i, i);
     this["dup"+i]._x = (i%br)*this.bg._width;
     this.highestDepth = i;
}  
var mc = this.createEmptyMovieClip("meinMovieClip", (this.highestDepth+1));
mc.loadMovie("meineExterne.swf");

gruss

EDIT: Ich hab nun das Skript hier korrigiert, so dass die unten besprochenen Fehler nicht auftreten sollten
 
Zuletzt bearbeitet:
Super!

Der Zusatz (Player 6) bringt mich dem Ziel schon sehr nahe...:p

Allerdings greift das Script jetzt auf die letztmögliche Kachel und setzt
dafür das gewünschte MC rein.
Man sieht also einen gekachelten Hintergrund, bei dem die letzte Kachel
fehlt. Mit dem MC klappt das schon prima!

Wie bekomme ich jetzt den Hintergrund geschlossen?
Habe es schon mal probiert eine zusätzliche Kachel zur Fensterbreite zu addieren,
aber irgendwie war das nicht die Lösung...

Weiß du dafür vielleicht auch einen Weg?

Vielen Dank im Voraus!!
 
Ahhh,

habe einen Weg gefunden!

Habe einfach das Auslesen der Bühnenbreite um eine Kachelbreite addiert.

PHP:
var br = Stage.width/this.bg._width+this.bg._width;


Ist zwar kein sripttechnisch schöner Weg, aber funktioniert...;)
 
Hallo,

jau, ist ein Patzer meinerseits. Es müsste so heissen:

Code:
var mc = this.createEmptyMovieClip("meinMovieClip", (this.highestDepth+1));
mc.loadMovie("meineExterne.swf");

gruss
 
Zurück