Cocos2d - 平铺贴图错误

时间:2012-07-31 02:49:00

标签: ios xcode cocos2d-iphone

每当我将我的tilemap添加到我的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];
 }

这里发生了什么?我已经尝试了很多tileset首选项,例如从0到1的边距间距仍然没有运气。

2 个答案:

答案 0 :(得分:1)

保存在TMX文件中的图像使用相对路径:

Xcode/Game Development/Tilesets/Desert_Tileset.png

此路径通常不存在于您的iOS项目中,因为应用包捆绑了所有文件夹,因此所有文件都位于应用包中的相同路径中。

在编辑和将项目文件添加到项目时,您应将tileset文件放在与TMX文件相同的文件夹中。

在这种情况下,您可能必须在Tiled中删除并重新添加tileset,或者只是编辑TMX文件(在Tiled之前将其关闭)并删除tileset的路径。特别是如果您已经为tileset添加了属性,这将是更容易的选项,因为您不必重新编辑tileset(tile)属性。

答案 1 :(得分:0)

将Desert_Tileset.png图像添加到资源中。我这样解决了我的错误。