Corona SDK Cross-Device Bildschirm Auflösung
Dies ist einer jener unangenehme Fragen eine Antwort suchen, die wahrscheinlich nicht existiert, aber hier geht.
Habe ich entwickelt, einige einfache Spiele mit Corona und während die Funktionalität scheint ziemlich gut zu funktionieren in den meisten physikalischen Geräte, die ich getestet habe auf, der ein Haupt-Problem ist das layout. Ich weiß, Sie können nicht wirklich bauen für jedes einzelne Gerät einwandfrei, aber ich Frage mich, ob es eine gängige Methode, um eine app gut Aussehen, über so viele Bildschirme wie möglich. Ich habe Zugriff zu diesen Geräten
- iPad 1 & 2: 4:3 (1.33)
- iPhone 960 × 640 3:2 (1.5)
- iPhone 480x320 3:2 (1.5)
- Galaxy Nexus 16:9 (1.77)
Aus, was ich gesehen habe, Menschen unterstützen den Einsatz von 320x480 als einer skalierten Auflösung und lassen Sie dann die Corona der gehobenen Klasse auf das richtige Gerät-Auflösung (mit einem @2x Bilder als benötigt), aber dies führt zu letterboxing oder zuschneiden, je nach config.lua-Skala-Einstellung. Während es nicht korrekt skaliert, dass der Briefkasten nicht groß.
Also würde ich am besten nicht angeben, eine Breite&Höhe, in der config-Datei, sondern in irgendeiner Art von Bildschirm überprüfen, auf den ersten Blick für 1.33 /1.5 /1.77 Seitenverhältnisse? Sicherlich mit der ganze Punkt von Corona SDK, es wäre eine Art von "typischen" setup-Entwickler verwenden für den start in jedes neue Projekt?
Danke
InformationsquelleAutor Alex Holsgrove | 2012-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass ich gefunden habe, eine ziemlich gute Lösung, basierend auf dieser forum post auf der Ansca website: http://developer.anscamobile.com/forum/2012/03/12/understanding-letterbox-scalling
In der Zusammenfassung, die config.lua sollte so Aussehen:
Erstellen Sie hintergrund-Bilder bei 360*570 für ältere Geräte. 320x480-Bildschirmen wird das Bild zuschneiden, leicht und es skaliert sehr schön für ältere Android-Geräte.
Erstellen Sie hintergrund-Bilder in 1140*720 für das iPad und das iPhone retina - wieder diese Skala auf Android und werden leicht beschnitten auf iOS.
Als ein Beispiel, wo Sie normalerweise erstellen Sie eine 320x480-Bild und zeigen Sie es mit:
.. stattdessen eine 360x570 hintergrund und verwenden Sie den folgenden code:
Dies ist nur eine Zusammenfassung, so überprüfen Sie den link für weitere detaillierte Anweisungen.
InformationsquelleAutor Alex Holsgrove
Gut, KÖNNEN Sie verwenden eine Reihe leicht off 2 für die Skalierung, wenn Sie möchten, korrigieren Sie Bilder für die verschiedenen Geräte. Ex:
In dem "hintergrund.png", wäre ein 640x960 Bild für das iphone4, während "hintergrund-iphone3.png" wäre 320x480 (brauchen Sie nicht, aber es verringert den Speicherbedarf für iphone3-Anwendungen). "background-ipad3.png" müsste 1536x2048 (und die Hälfte für -ipad2).
Natürlich, es löst nicht das Seitenverhältnis für den Bildschirm zu positionieren, aber es löst es für alle anderen gfx-Probleme. Denken Sie daran, zu verwenden, anzuzeigen.newImageRect, nicht angezeigt.newImage oder Sie werden nicht sehen einen Unterschied.
InformationsquelleAutor Rob