0

Flixel ゲーム エンジンに精通している場合は、 https ://github.com/ericjohnson/canabalt-ios/tree/master/flixel-ios のオープン ソースを参照してください。

Retina グラフィックスのサポートを追加するにはどうすればよいですか? 網膜サイズのテクスチャのように。

@2x アトラス png を追加しようとしましたが、読み込まれているように見えますが、アトラス plist で指定されているようにオフセットが正しくないと思います。正しいオフセットを使用して plist (retina デバイス用のロード retina アトラスをロード) を変更すると、確実にグラフィックスが正しくロードされますが、テクスチャ自体は一般的に大きすぎて表示され、他の問題が発生するようです。

進行状況の更新:

  • 上で述べたように、私は高解像度グラフィック用に個別のテクスチャ アトラスを作成しています。これは、物事を単純にするために、高解像度グラフィックの完全なセット (またはまったくない) が必要であることを意味すると思います。これにより、グラフィックスが正しく読み込まれます (または、低解像度のアトラス plist を使用している場合、オフセットはもちろん正しくありません)。

  • FlxSprite:s を作成するとき、簡略化された静的クリエーターは使用しませんが、init* コンストラクターを使用して、デバイスのスケールを使用して modelScale パラメーターを指定します (Retina デバイスでは 2.0、その他のデバイスでは 1.0 になります)。これにより、Retina スクリーンであるかどうかに関係なく、グラフィックスも画面上に正しいサイズで表示されます。

残っているのは、Retina バージョンで正しい解像度を使用することです。これは、テクスチャ自体がどこかで縮小されたように見え、その後再びサイズが大きくなり、元の高解像度画像ではなく、ぼやけた不適切な効果が生じるためです。最後の犯人は、SemiSecretTexture クラスのどこかにあると思います...

進行状況の更新を再度:

  • 私はおそらく上記で間違っていました。やり方がわかった気がします。modelScale を 2.0 に設定する必要はありません...詳細を整理して、後で答えを提供するかもしれません:-)
4

1 に答える 1

0

これを行う簡単な方法はないと思いますが、FlxGame から派生したクラスをインスタンス化するときは、ズーム パラメーターで YES を使用しないでください。初心者向け。次に、網膜用と非網膜用に異なるアトラスをロードする必要があります。ただし、そこから iPad のサポートがどうなるかはわかりません。次に、FlxSprites のテクスチャをロードするときに、「デバイス スケール」を指定する必要があります。Retina デバイスの場合は 2.0 になります - [UIScreen スケール] から取得します。これにより、網膜と非網膜が FlxSprite で適切に機能するようになります。次に、FlxTileblock (およびおそらく他のクラス) は、まだ解決していない別の話です。

于 2012-05-16T04:56:41.847 に答える