0

タイルマップをCocos2dプロジェクトに追加するたびに、エラーが発生するか、運が良ければアプリがクラッシュすることなく少なくともブラックスクリーンが実現します。Xcodeが返すエラーは次のとおりです。

rect.origin.x = (gid % max_x) * (tileSize_.width + spacing_) + margin_;

ログが返されます

2012-07-30 22:40:29.237 Tile Map Game[8233:c07] cocos2d: Couldn't add image:Xcode/Game Development/Tilesets/Desert_Tileset.png in CCTextureCache

そして最後に重要なのは私のコードです

-(id) init
 {
     if( (self=[super init] )) {

         self.tileMap = [CCTMXTiledMap tiledMapWithTMXFile:@"DesertMap.tmx"];
         self.backgroundLayer = [tileMap layerNamed:@"Background"];

         [self addChild:tileMap z:-1];

      }
     return self;
 }

 - (void) dealloc {

     self.tileMap = nil;
     self.backgroundLayer = nil;

     [super dealloc];
 }

何が起きてる?0から1までのマージン間隔など、多くのタイルセット設定を試しましたが、まだ運がありません。

4

2 に答える 2

1

TMXファイルに保存された画像は、相対パスを使用します。

Xcode/Game Development/Tilesets/Desert_Tileset.png

アプリバンドルはすべてのフォルダーをフラット化して、すべてのファイルがアプリバンドル内の同じパスにあるため、このパスは通常iOSプロジェクトには存在しません。

編集時とプロジェクトへの追加時の両方で、タイルセットファイルをTMXファイルと同じフォルダーに配置する必要があります。

この場合、Tiledでタイルセットを削除して再度追加するか、TMXファイルを編集して(実行する前にTiledで閉じます)、タイルセットへのパスを削除する必要があります。特に、タイルセットにプロパティをすでに追加している場合は、タイルセット(タイル)のプロパティを再編集する必要がないため、これがより簡単なオプションになります。

于 2012-07-31T10:03:23.927 に答える