0

iOS 用の Cocos2D v0.99.5 を使用しています。タイル アトラスのピクセル幅/高さを 256x512 から 256x1024 にサイズ変更しました。それに応じて、プロジェクトの tmx ファイルのタイル サイズの幅と高さのプロパティを調整しました。タイル アトラスで 512 未満のタイルを描画すると、正しいレイヤーにタイルを描画しているにもかかわらず、「レイヤーごとに 1 つのチルセットのみがサポートされています」というアサーション エラーが発生します。

最大 1024x1024 ピクセル、または Retina の 2 倍までのタイル アトラスをサポートする必要があることはわかっています。私は iPad 3 を使用しています。なぜこれが起こっているのか手掛かりはありますか?

4

2 に答える 2

1

これは、タイルセットのサイズに関係している可能性があります。タイルセットのサイズを変更するときは、TMX ファイルに保存されている情報もそれに応じて更新されるようにする必要があります。

64x64 タイルの 256x256 タイルセットがあるとします。つまり、この特定のタイルセットには、0 から 15 の範囲の GID を持つタイルが含まれます。このタイルセットの幅を 512x256 に増やすと、タイルセットの範囲は 0 から 31 になります。ここで重要なのは、同じ GID の位置が変わる可能性があることです。どのタイルセット イメージが使用されているか、および TMX ファイルに格納されているタイルセット サイズに応じて異なります。

cocos2d によると、この不一致により、レイヤーの 1 つのタイルセットには存在しないと思われるタイル GID が検索されます。したがって、レイヤーで別のタイルセットのタイルを使用しようとしている可能性があると不平を言っています。

TMX タイルセット情報が実際のタイルセット イメージと一致することを常に確認してください。確実にするには、デバイスからアプリを削除し、クリーン ビルドを実行して、アプリが再構築され、全体がデバイスに転送されるようにします。

于 2013-08-02T20:04:11.523 に答える
0

tileSetの画像サイズが256x1024のせいではないことは確かです。

このエラーは、1 つのレイヤーで 2 つの異なる tileSet のタイルを使用すると発生します。

したがって、1 つのレイヤーで 1 つの tileSet のタイルを使用します。1 つのマップに複数のレイヤーを追加できますが、各レイヤーには固有の tileSet からのタイルが含まれます。

ここに画像の説明を入力

于 2013-08-02T16:39:04.943 に答える