Android: Angry Birds Scaling


11

Hat jemand eine Idee, wie die Skalierung bei wütenden Vögeln erreicht wird? Ich möchte sicherstellen, dass meine Bilder / mein Hintergrund immer so skaliert werden, dass sie der Bildschirmgröße entsprechen, und dieses Spiel scheint einen ähnlichen Effekt zu haben. Ich habe mit den Manifest-Einstellungen viel gespielt, um bevorzugte Bildschirmgrößen festzulegen, aber ich muss noch genau das duplizieren, was ich will.

Gibt es effektive Möglichkeiten, um sicherzustellen, dass in Ihrem Spiel immer XY-Speicherplatz angezeigt wird, der je nach Pixelgröße nach Bedarf verkleinert wird?

Ich möchte sicherstellen, dass bei allen Geräten immer alles auf dem Bildschirm angezeigt wird, und bei kleinen Geräten nicht abgeschnitten oder bei großen Geräten Leerzeichen hinzugefügt werden.

Ich berechne meinen Zeichenraum, indem ich die Größe der Ansicht erhalte und diese als Grenze für meine Sprites verwende, aber es scheint nicht so gut zu funktionieren.

Antworten:


6

Um die ursprüngliche Frage zu beantworten, verwendet Angry Birds reguläre Rastergrafiken (keine Vektoren). Packen Sie einfach die .apk aus (es ist eine Zip-Datei) und sehen Sie sich die Texturen selbst an.

Angry Birds verhindert nur, dass Sie einen Zoomfaktor über 1.x einstellen, wodurch eine Vergrößerung (Vergrößerung) der Texturen vermieden wird. Wahrscheinlich wird auch OpenGL-Mip-Mapping verwendet, um Artefakte beim Downscaling (Minifizierung) zu vermeiden.


Erklärt, warum es eine separate HD-Version gibt / gab.
Matthew Read

4
  1. Verwenden Sie Vektorgrafiken . Vektoren werden nicht durch Punkte im Raum (dh einzelne Pixel) definiert, sondern durch mathematische Beziehungen und lassen sich leicht an kleinere oder größere Ansichten anpassen.

  2. Es ist beispielsweise unmöglich, genau dasselbe Bild auf einem Bildschirm mit einem Verhältnis von 4: 3 und einem Bildschirm mit einem Verhältnis von 16: 9 anzuzeigen, ohne das Bild zu komprimieren oder zu strecken. Daher müssen Sie Dinge auf 4: 3-Geräten abschneiden, die auf 16: 9-Breitbildgeräten angezeigt werden. Dies ist keine schlechte Sache in einem Spiel wie Angry Birds, in dem der Benutzer schwenken kann, um zu sehen, was fehlt.


1

Auf der Android-Plattform gibt es:

  • 320 * 240 (1,33)
  • 400 * 240 (1,66)
  • 480 * 320 (1,5)
  • 800 * 480 (1,66)
  • 854 * 480 (1,77)
  • 1024 * 600 (1,71)

Wenn Sie Ihr Spiel in 2D entwerfen, müssen Sie darüber nachdenken. Sie haben zwei technische Lösungen:

  • Wählen Sie ein Verhältnis (1,66 ist am weitesten verbreitet) und verwenden Sie schwarze Bänder (wie Filme).
  • Wählen Sie einen Begrenzungsrahmen aus, in dem Sie nicht verkleinern können, und einen anderen für das Vergrößern.

Ich benutze diese Methode für Moblox und Farbebenen mit diesen Boxen. Für das beste Rendern auf den meisten Telefonen haben meine Begrenzungsrahmen ein Verhältnis von 1,66. Bei Telefonen mit einem Verhältnis von 1,33 oder 1,77 sind Hintergrundelemente nicht sichtbar, aber ich habe mein Level mit zentrierten Aktionen gestaltet. Spieler kümmern sich also nicht darum.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.