我有一张瓷砖地图,当我在模拟器上运行它时,它显示正常。当我在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
答案 0 :(得分:0)
复制并粘贴,请不要使用ad-lib。您的接口和实现名称不匹配,合成非匹配对象的语句等。我的猜测是您的tmx
文件具有不同的大小写,并且您已经输错了。在模拟器中,如果您的文件实际上名为Desert.tmx,则无关紧要。你可以称之为DeSeRt.TmX,它仍然可以运行,但在实际的设备上它不会。 OSX的默认值是不区分大小写的文件系统,iOS的默认值区分大小写。
答案 1 :(得分:0)
检查以确保您的平铺地图已添加到项目中并被复制到资源文件夹中。假设是这种情况,也可能是您正在加载的文件@"Desert.tmx"
与您正在链接的实际文件的大写/小写不同。 (MacOS文件系统默认不区分大小写,iOS文件系统是)