2012-04-11 6 views
0

Ich entwickle ein iPad-Spiel mit AS3. Wegen der Details des Spiels muss ich zwischen ungefähr 5 Hintergründen mit der Größe von 4800x1800 wechseln. Normalerweise verwende ich die Schalterfunktion, um das Sichtbare von allen Hintergrundmovieclips abzuschalten, dann schalte ich das ein, das ich brauche, aber jedes Mal, wenn ich funktioniere, wird es zum ersten Mal funktionieren, aber auf dem zweiten. Ich habe nachgezeichnet und festgestellt, dass es sich wirklich um den Schalter handelt, der von den Hintergründen sichtbar ist. Danach versuche ich Bitmapdata zu verwenden und jeden Bildschirmstart neu zu zeichnen. Aber es ist noch schlimmer, Crack zum ersten Mal ich testen. Es scheint, dass es für den Prozessor nicht in Ordnung ist, solche großen Bitmap-Daten zu verarbeiten. Hat jemand einen guten Weg, mit so etwas fertig zu werden?Wie optimiert man eine große JPEG auf AIR IOS? (AS3)

P/s: Mein Spiel läuft perfekt auf dem PC, kein einziger Fehler, es ist nur Crack auf dem iPad und ich habe debugged, dass es beim Ausführen der Schalter bg Funktion zu stoppen.

+0

Können Sie etwas Code posten? – Eric

+0

Abhängig von der Art des Inhalts in Ihrem Bild möchten Sie möglicherweise png anstelle von jpg verwenden. Die Komprimierung ist besser/schneller für vektorartige Bilder. –

Antwort

3

Unterteilen Sie die Bitmapdaten in kleinere Kacheln zum Aussortieren? Wenn nicht, ist dies definitiv der richtige Weg. Du möchtest, dass dein Motor wie ein Puzzle funktioniert und nur die Teile des sichtbaren Puzzles zusammengefügt werden. Im Idealfall für eine Plattform wie iOS, werden Sie wollen, dass die Größen um 250x250 für optimale Speicherverwaltung (basierend auf einigen der Tests, die ich getan habe). IMHO, 4800x1800 ist viel zu groß für ein Dataset als eine einzige Entität zu behandeln.

Grundlagen der Bitmap-Kacheln: http://as3adventure.blogspot.com/2011/06/bitmapfill-and-tiles-and-scrolling-it.html

hoffe, das hilft!

+1

Nur um das hinzuzufügen, wenn Sie nicht GPU-Rendering verwenden, sollten Sie. Es gibt auch ein paar 2D-Spiele-Engines, die mit dieser Abstraktion für Sie umgehen können. Schauen Sie sich Axgl an, wenn Sie eine Engine verwenden möchten. http://axgl.org/ – francis