每当我将图 block map 添加到 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];
}
这是怎么回事?我已经尝试了很多图 block 设置首选项,例如从 0 到 1 的边距间距,但仍然没有成功。
最佳答案
保存在 TMX 文件中的图像使用相对路径:
Xcode/Game Development/Tilesets/Desert_Tileset.png
此路径通常不存在于您的 iOS 项目中,因为应用程序包会展平所有文件夹,以便所有文件都位于应用程序包中的同一路径中。
在编辑和将图 block 集文件添加到项目时,您都应将其放置在与 TMX 文件相同的文件夹中。
在这种情况下,您可能必须在 Tiled 中删除并重新添加图 block 集,或者只需编辑 TMX 文件(在此之前在 Tiled 中将其关闭)并删除图 block 集的路径。特别是如果您已经向图 block 集添加了属性,这将是更简单的选择,因为您无需重新编辑图 block 集(图 block )属性。
关于ios - Cocos2d - 平铺 map 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732421/