Hintergrund aus Seamless Tiles per Actionscript?

harrry

Erfahrenes Mitglied
Hallo,

ich frage mich, ob man in Flash MX, ähnlich wie in HTML, einen Hintergrund aus "Seamless Tiles" per Actionscript anzeigen lassen kann.

Geht das mit einen loop, mit duplicateMovie - und lässt sich das, wenn überhaupt, auch im Vollbildmodus machen, ohne den Rechner zu überfordern?

Es geht mit dabei übrigens NICHT darum, dass sich dabei irgendwas bewegt, ich suche nur nach einer Alternative zu großen, ladeintensiven Hintergrund-Grafiken!

Und nein: ich möchte nicht die Transparenz-Funktion von Flash verwenden, um einen HTML-Hintergrund durchscheinen zu lassen, da dieser Modus die Performance (zumindest bei mir) deutlich verlangsamt.

Hat jemand eine Idee oder kann mich zu einem passenden Tutorial überweisen?
 
"Seamless Tiles" heisst wörtlich sowas wie "Nahtlose Fliesen". Und daraus werden, zumeist auf HTML-Seiten, die Hintergrundmuster zusammengesetzt.

Als Grundlage dioent ein einzelnes, meist winziges gif- oder jpeg-Bildchen ist, das sich neben- und untereinander endlos wiederholt. Das Bildchen ist natürlich so gestaltet, dass man den Übergang nicht merkt, daher: "nahtlos". Das Ergebis ist dann zB. ein feines Muster aus winzigen Pünktchen oder zarten Streifen oder was auch immer den Designer glücklich macht.

Und so etwas will ich aben nun in flashMX realisieren, aber nicht mit pixelgenauem Rumschieben von zig Instanzen auf der Bühne, sondern mit einem eleganten AS-Befehl, der den ganzen Bildschirm ausfüllt. Wenn´s denn geht.
 
Ach "kacheln". ;)

So geht das z.B.:
Ein Movieclip mit Breite und Höhe je 20 Pixel und Verknüpfungs-ID "tile" in der Bibliothek.
Im ersten Frame der Hauptzeitleiste dann sowas in der Art
PHP:
t = 0;
for (i=0; i<10; i++) { // hier 10 Mal in der Breite
	for (j=0; j<15; j++) { // hier 15 Mal in der Höhe
		nexttile = attachMovie("tile", "tile"+t, t);
		nexttile._x = i*20; // die 20 resultiert aus der Breite des MC
		nexttile._y = j*20;
		t++
	}
}
Gruß
Rena
 
Klar geht das (was eine Frage). Ich gehe einfach mal davon aus, dass du Flash noch nicht so gut beherrschst. Hier mal ein Code:

Code:
for(x = 0; x <= Stage.width; x += Mein_Bild._width) {
for(y = 0; y <= Stage.height; x += Mein_Bild._height) {
Mein_Bild.duplicateMovieclip("teil"+y, 3);
Mein_Neues_Bild = eval("teil"+y);
Mein_Neues_Bild._x = x;
Mein_Neues_Bild._y = y;
}
}

Liebe Grüße,
Jens

/Edit: Och man, Rena! Warst schneller!
 
Herzlichen Dank, Rena und Jens!

Habe sofort beides ausprobiert und favorisiere Renas Lösung (weil bei der Jens´schen Variante eine Warnung von wegen "Achtung, Systemressourcen belastet" oder so ähnlich kam, wobei ich immer mal davon ausgehe, dass ich was falsch gedreht hab).

Renas Tipp funktioniert tadellos Nur eine winzige Frage noch: die angezeigten "tiles" bzw. Kacheln überlagern nun alle anderen Inhalte meines Films. Gibt es da vielleicht noch eine Anweisung, die das Ganze in den Hintergrund verlagert - oder muss ich meine schöne neue Fliesenwand auf _level0 laden und alles weitere auf _level1?

Nochmals ganz lieben Dank für die prompte Hilfe!
 
harrry hat gesagt.:
oder muss ich meine schöne neue Fliesenwand auf _level0 laden und alles weitere auf _level1?
Entweder das oder du legst z.B. einen leeren Movieclip auf die unterste Ebene deines Hauptfilms auf Koordinaten 0/0 und attachst die Fliesenwand dort rein.

Gruß
Rena
 
Hallo,
ich such auch grade was in dieser Art nur verstehe ich leider nicht ganz was der Code da macht. Es wäre schön ne kleine Erklärung zu bekommen. (Ansonsten muss man immer nur abschreiben) Der Code von löffellutscher fragt dynamisch die Breite der Stage ab ? Seh ich das richtig?
Ich würde einen dynamischen Austausch der Kachel benötigen,. also wenn man klickt Kachel 1, bei einem zweiten Button dann Kachel 2 usw. so dass sich der Hintergrund auf Knopfdruck neu aufbaut. Wäre das auch mit bestehendem Script möglich?
 

Neue Beiträge

Zurück