Android:Angry Birds Scaling


11

怒っている鳥でスケーリングがどのように行われるのか誰にも何か考えがありますか?画像/背景を常に画面サイズに合わせて拡大縮小したいのですが、このゲームでも同様の効果があるようです。私は優先画面サイズの設定についてマニフェスト設定をいろいろと試してきましたが、まだ私が望むものを正確に複製する必要はありません。

ピクセルサイズに応じて、ゲームが常にXYスペースを表示し、必要に応じて縮小するようにする効果的な方法はありますか?

すべてのデバイスのすべてが常に画面に表示されることを確認します。小さなデバイスでは途切れたり、大きなデバイスでは黒いスペースを追加したりしません。

ビューのサイズを取得し、これをスプライトの境界として使用して描画スペースを計算していますが、うまく機能していないようです。

回答:


6

元の質問に答えるために、怒っている鳥は(ベクターではなく)通常のラスターグラフィックを使用します。.apk(それはzipファイルです)を解凍して、自分でテクスチャを確認してください。

Angry Birdsは、ズーム係数を1.xを超えて設定できないようにしているだけなので、テクスチャの拡大(拡大)を回避できます。また、おそらくOpenGL mip-mappingを使用して、ダウンスケーリング(縮小)アーティファクトを回避します。


別個のHDバージョンが存在する/存在する理由を説明します。
マシュー

4
  1. ベクターグラフィックスを使用します。ベクトルは空間内の点(つまり、個々のピクセル)によって定義されるのではなく、数学的な関係によって定義され、より小さなまたは大きなビューに簡単に適応します。

  2. たとえば、画像を圧縮したり引き伸ばしたりせずに、4:3の比率の画面と16:9の比率の画面にまったく同じ画像を表示することは不可能です。したがって、ワイドスクリーン16:9デバイスに表示される4:3デバイスでは、物事を切り離す必要があります。これは、ユーザーがパンして欠けているものを確認できるAngry Birdsのようなゲームでは悪いことではありません。


1

Androidプラットフォームには、次のものがあります。

  • 320 * 240(1.33)
  • 400 * 240(1.66)
  • 480 * 320(1.5)
  • 800 * 480(1.66)
  • 854 * 480(1.77)
  • 1024 * 600(1.71)

したがって、ゲームを2Dで設計するときは、それについて考える必要があります。次の2つの技術的な解決策があります。

  • 比率を選択し(1.66が最も広く使用されています)、黒い帯を使用します(映画など)
  • 縮小できない境界ボックスと拡大用の境界ボックスを選択します。

私はこれらのボックスでMobloxとペイントレベルにこの方法を使用します。ほとんどの電話で最適なレンダリングを行うために、境界ボックスの比率は1.66です。比率1.33または1.77の電話では、表示されない背景要素がありますが、中心のアクションでレベルを設計しました。プレイヤーは気にしません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.