我的瓷砖地图没有出现在我的设备上

时间:2014-02-27 00:30:15

标签: cocos2d-iphone

我有一张瓷砖地图,当我在模拟器上运行它时,它显示正常。当我在iPhone上运行并转到地图时,没有任何显示,只有黑屏。关于正在发生的事情的任何想法?

   @interface LevelDesertOne : CCLayer {
    CCTMXTiledMap *desertMap;
    CCTMXLayer *bgLayerDesert;
    }
    @property(nonatomic, retain) CCTMXTiledMap @desertMap;
    @property(nonatomic, retain) CCTMXLayer *bgLayerDesert;
    +(CCScene *) scene;
    @end

@implementation LevelDesertOne
    @synthesize desertMap;
    @synthesize bgLevelDesert;
    +(CCScene *) scene{
    CCScene *scene = [CCScene node];
    LevelDesertOne *layer = [LevelDesertOne node];
    [scene addChild: layer];
    return scene;
    }
    -(id) init{
    if( (self=[superinit]) ){
    self.desertMap = [CCTMXTiledMap tiledMapWithTMXFile:@"Desert.tmx"];
    self.bgLayerDesert = [desertMap layerNamed:@"bgDesert"];
    [self addChild:desertMap z:-1];
    }
    return self;
    }
    @end

2 个答案:

答案 0 :(得分:0)

复制并粘贴,请不要使用ad-lib。您的接口和实现名称不匹配,合成非匹配对象的语句等。我的猜测是您的tmx文件具有不同的大小写,并且您已经输错了。在模拟器中,如果您的文件实际上名为Desert.tmx,则无关紧要。你可以称之为DeSeRt.TmX,它仍然可以运行,但在实际的设备上它不会。 OSX的默认值是不区分大小写的文件系统,iOS的默认值区分大小写。

答案 1 :(得分:0)

检查以确保您的平铺地图已添加到项目中并被复制到资源文件夹中。假设是这种情况,也可能是您正在加载的文件@"Desert.tmx"与您正在链接的实际文件的大写/小写不同。 (MacOS文件系统默认不区分大小写,iOS文件系统是)