每当我将我的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的边距间距仍然没有运气。
答案 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图像添加到资源中。我这样解决了我的错误。