ios - Cocos2d - 平铺 map 错误

标签 ios xcode cocos2d-iphone

每当我将图 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/

相关文章:

Sprite 的 iOS 性能

ios - 带有嵌入式 UIButtons 的 IBDesignable UIView,如何在 Storyboard中连接 Action ?

ios - iOS 应用程序中的公共(public)框架

ios - React-Native:为什么在 iOS 设备上测试时会出现网络错误

swift - 在左耳机或右耳机中播放特定频率的音调

ios - 如何调试Cocos2d去除 Sprite 内存问题

iphone - 使用 "ccTouchesMoved" move CCLayer 可以工作,但需要一些调整,我不明白

ios - 使用 segue 时,在初始化程序之前将数据传递到 View Controller 。 ( swift )

ios - 在 didReceiveUserInfo 之前调用 TableView 设置

xcode - 通过命令行进行Xcode“构建和存档”