Als Erstes sage ich, dass der Kontext hier Actionscript 3.0 (IDE: Flashbuilder) zusammen mit dem Starling Framework ist.AS3-Kachelkarten-Rendering (mit 1000er Kacheln)
Also, ich möchte eine Tile Map erstellen, die für einen Platformer oder etwas ähnliches verwendet werden könnte.
Ich möchte 8x8 Pixel Kacheln auf einer 800x600 Pixel Bühne verwenden, und das Problem, das ich habe, ist, dass ich nicht weiß, wie diese 7500+ Kachelobjekte zur Bühne hinzugefügt werden, ohne dramatisch die Framerate zu reduzieren.
Ich habe festgestellt, dass die Leistungseinbuße durch das Hinzufügen jeder Kachel zur Bühne und nicht durch die Initialisierung jedes Tile-Objekts entsteht.
Ich weiß, ich gebe nicht viele spezifische Informationen, aber was ich verlange, ist, wenn es eine standardisierte Möglichkeit gibt, Tausende von statischen Objekten auf die Bühne ohne Leistungsverlust zu zeichnen. Ich habe das Gefühl, dass es einen Weg gibt, den ich erst noch finden muss.
Update:
Nachdem alle Ihre freundliche Hilfe, ich habe festgestellt, was eine große Lösung zu sein scheint. Zuerst wollte ich die Lösung von Amy implementieren, indem ich mit copyPixels() und draw() ein großes Bitmap für die gesamte Map erstellte und es dann auf den Bildschirm rended. Dann wollte ich aber wissen, ob es eine Starling-Entsprechung dazu gab, denn alles wäre so viel einfacher, wenn ich Starling nicht mit Native Flash mischen müsste.
Dank Amy wieder, sah ich Starling in der RenderTexture-Klasse ein bisschen mehr, und fand, dass mit seinen "DrawBundled()" und "Draw()" Methoden, ich einfach alle Kacheln in eine RenderTexture zeichnen konnte Dann setze das RenderTexture in ein Bild (Starling's Image Class) und füge das Bild dann einfach dem Bildschirm hinzu.
Diese Lösung ist eine Million mal schneller als die albernen langsamen Lösungen, die ich zuvor versucht habe, mit plattenden Sprites und so. Es ist schneller sowohl in seiner Initialisierungszeit und es scheint keinen Rückgang der Framerate zu geben, während das RenderTexture Bild auf dem Bildschirm ist.
Die eine Sache, die ich damit testen möchte, ist, wenn es einfach ist, die Grafiken einer Kachel während des Spiels zu aktualisieren. Sprich, wenn sich Wasser von einer Quelle (oder etwas) ausbreitet und eine "Gras" -Kachel zu einer "Wasser" -Kachel werden würde, wäre die RenderTexture und ihr Bild in der Lage, ihr Aussehen ohne irgendeine Art von Lag-Spikes oder Performance-Schluckauf zu verändern. Ich werde das bald testen.
Vielen Dank für Ihre Hilfe!
Danke, ein Startpunkt wie dieser, der mich in die richtige Richtung treibt, ist genau das, was ich brauchte! – Brucef
Gern geschehen :) –
Jetzt muss ich nur herausfinden, wie die Verwendung von nativen Flash-Display-Objekte mit dem Starling Framework funktioniert ... – Brucef