Jak mogę opracować grę na Androida dla różnych rozdzielczości telefonów?

18

Na przykład Motorola Droid jest tak szeroki jak G1, ale ma większą wysokość.

Czy powinienem spróbować rozszerzyć interfejs użytkownika na dodatkową wysokość znalezioną w Motorola Droid? Jak inni radzą sobie z tym problemem?

Nie używam OpenGL, ale SurfaceView do gry 2D.

Bryan Denny
źródło

Odpowiedzi:

7

Należy pamiętać o niezależności od gęstości (w zasadzie rozdzielczości), jak opisano tutaj: http://developer.android.com/guide/practices/screens_support.html

A jeśli chodzi o współczynnik proporcji, wybierz minimalny docelowy współczynnik kształtu i projekt w nim jako rodzaj bezpiecznej ramki. W konfrontacji z szerszym współczynnikiem proporcji pokaż więcej gier, które nie mają decydującego znaczenia dla rozgrywki. Zadałem tutaj podobne pytanie i opisałem, co bym zrobił: jak podchodzisz do niezależności rozdzielczości w przypadku treści graficznych opartych na rastrze?

Klatka kluczowa
źródło
3

Możesz wykonać dynamiczną rozdzielczość, którą pokazuję tutaj na iPhonie:

http://www.blog.namar0x0309.com/2011/10/adaptive-resolution/

  • Upewnij się, że umieściłeś wszystko ze współczynnikami. Na przykład pasek zdrowia zostałby umieszczony na 80% szerokości ekranu z 10% szerokości ekranu dla jego skali poziomej (patrz wymiary stylów CSS). Na początku jest to trochę dziwne, ale na dłuższą metę nie będziesz musiał radzić sobie ze wszystkimi różnymi rozdzielczościami, ponieważ widżety / obrazy będą się dynamicznie przemieszczały na różnych ekranach.

  • Jeśli gra wykorzystuje zbieranie, przetłumacz to również ze współczynnikami (potrzebujesz oryginalnego zestawu wymiarów, którego możesz użyć jako odniesienia do zbudowania współczynników z wymiarami urządzenia.

namar0x0309
źródło
Artykuł nie jest już dostępny!
bottleboot
Właśnie próbowałem, pracując na moim końcu. Odświeżać? Może moja firma hostingowa restartowała swoje serwery. @bottleboot
namar0x0309
mój program blokujący reklamy zatrzymywał ładowanie strony, widzę to teraz
bottleboot
1

Jeśli korzystasz z Eclipse, możesz umieścić kilka obrazów o różnych rozmiarach w rysowalnym-ldpi, rysowalnym-mdpi i rysowalnym-hdpi, a silnik Android automatycznie wybierze, który obraz będzie odpowiedni dla rozdzielczości ekranu.

Zak Burkett
źródło
2
Co ma z tym wspólnego zaćmienie?
notlesh
1

Klatka kluczowa wspomina o dobrym podejściu, ale zaoferuję jeszcze dwa:

1) Zaprojektuj swoją grę pod kątem wielu rozdzielczości / proporcji. Chodzi o to, aby wykorzystać każdą część ekranu, ale „zaprojektować” wszelkie zalety, jakie jeden współczynnik proporcji może mieć w stosunku do drugiego. W zależności od gry różne proporcje mogą nadal mieć przewagę nad innymi, więc warto o tym pamiętać, gdy chodzi o dobieranie graczy w trybie wieloosobowym, tabele wyników, osiągnięcia itp., Jeśli którekolwiek z nich są istotne.

2) Użyj dodatkowej przestrzeni, aby uzyskać więcej interfejsu / chromowania. Prawie to, co powiedziała Klatka kluczowa, jeśli chodzi o wsparcie linii podstawowej lub minimalnej rozdzielczości, ale zamiast tego użyj dodatkowej przestrzeni na coś innego niż akcję.

Dużą wadą drugiego podejścia jest to, że jeśli bierzesz coś bardzo kwadratowego jako „bezpieczną strefę”, pozostawiasz wiele nieużywanych / nieumyślnie używanych pikseli w konfiguracji szerokoekranowej.

notlesh
źródło
-2

Wybranie optymalnej rozdzielczości dla gry od początku jej tworzenia może zmniejszyć problemy z późniejszym portowaniem.

„Najlepsza” rozdzielczość zależy od wielu czynników:

- Platforma, na którą gra ma zostać wydana w pierwszej kolejności

-Inne możliwe platformy, do których zamierzasz przenieść port później

-Graficzna wierność (8-bitowa lub pikselowa gra graficzna nie musi być wysokiej rozdzielczości).

-Genre (gra logiczna może prawdopodobnie uciec z niższą rozdzielczością, ale konkurencyjne szybkie FPS może nie.)

Danmoun Ferkoun
źródło