Android: Angry Birds Scaling

11

Adakah yang tahu bagaimana penskalaan dilakukan pada burung yang marah? Saya ingin memastikan gambar / latar belakang saya selalu sesuai untuk screensize dan permainan ini tampaknya memiliki efek yang sama. Saya telah bermain dengan lot pengaturan manifes pada pengaturan ukuran layar yang disukai tetapi saya belum menduplikasi apa yang saya inginkan.

Apakah ada cara efektif untuk memastikan gim Anda akan selalu menampilkan ruang XY, turunkan sesuai kebutuhan tergantung pada ukuran piksel?

Saya ingin memastikan semuanya selalu ditampilkan di layar untuk semua perangkat dan tidak memotong hal-hal pada perangkat kecil atau menambah ruang hitam pada perangkat besar.

Saya menghitung ruang gambar saya dengan mendapatkan ukuran tampilan dan menggunakan ini sebagai batas untuk sprite saya tetapi tampaknya tidak berfungsi dengan baik.

selamanya
sumber

Jawaban:

6

Untuk menjawab pertanyaan awal, Angry birds menggunakan grafik raster biasa (bukan vektor). Buka kemasan .apk (ini file zip) dan lihat sendiri teksturnya.

Angry Birds hanya terjadi untuk mencegah Anda mengatur faktor zoom di atas 1.x, sehingga menghindari peningkatan (pembesaran) tekstur. Mungkin juga menggunakan pemetaan-OpenGL untuk menghindari artefak downscaling (minification).

Julio Gorgé
sumber
Menjelaskan mengapa ada / adalah versi HD yang terpisah.
Matius Baca
4
  1. Gunakan grafik vektor . Vektor tidak ditentukan oleh titik-titik dalam ruang (yaitu piksel individu), mereka ditentukan oleh hubungan matematika, dan mudah beradaptasi dengan tampilan yang lebih kecil atau lebih besar.

  2. Tidak mungkin menampilkan gambar yang sama persis pada layar rasio 4: 3 dan layar rasio 16: 9, misalnya, tanpa mengompres atau meregangkan gambar. Dengan demikian Anda harus memotong hal-hal pada perangkat 4: 3 yang akan ditampilkan pada perangkat layar lebar 16: 9. Ini bukan hal yang buruk dalam game seperti Angry Birds di mana pengguna dapat melihat apa yang hilang.

Matius Baca
sumber
1

Pada platform Android, ada:

  • 320 * 240 (1.33)
  • 400 * 240 (1.66)
  • 480 * 320 (1,5)
  • 800 * 480 (1,66)
  • 854 * 480 (1,77)
  • 1024 * 600 (1.71)

Jadi, ketika Anda mendesain gim Anda dalam 2D, Anda harus memikirkannya. Anda memiliki dua solusi teknis:

  • pilihan rasio (1,66 adalah yang paling luas) dan gunakan pita hitam (seperti film)
  • Pilih kotak pembatas di mana Anda tidak dapat memperkecil atau yang lain untuk zoom-in.

Saya menggunakan metode ini untuk Moblox dan mengecat level dengan kotak-kotak ini. Untuk rendering terbaik pada kebanyakan ponsel, kotak pembatas saya memiliki rasio 1,66. Dengan rasio 1,33 atau 1,77 ponsel, ada elemen latar belakang yang tidak terlihat tetapi saya telah merancang Level saya dengan tindakan terpusat. Jadi para pemain tidak peduli.

Ellis
sumber