Cocos2d iphone Cocos2d:在数组中添加精灵会导致应用程序终止,并出现未捕获异常
当我尝试向数组中添加精灵时,出现了一个未捕获的异常错误,我觉得一切都很好。。我用MonocleStudios Simplegame项目来做这个 monoclestudios.com/static/simplegame.zip 代码应该是相当自解释的: .m文件:Cocos2d iphone Cocos2d:在数组中添加精灵会导致应用程序终止,并出现未捕获异常,cocos2d-iphone,sprite,Cocos2d Iphone,Sprite,当我尝试向数组中添加精灵时,出现了一个未捕获的异常错误,我觉得一切都很好。。我用MonocleStudios Simplegame项目来做这个 monoclestudios.com/static/simplegame.zip 代码应该是相当自解释的: .m文件: @implementation GameScene - (id) init { self = [super init]; if (self != nil) { Sprite * bg = [S
@implementation GameScene
- (id) init {
self = [super init];
if (self != nil) {
Sprite * bg = [Sprite spriteWithFile:@"game.png"];
[bg setPosition:ccp(240, 60)];
[self addChild:bg z:0];
[self addChild:[GameLayer node] z:1];
Sprite * bg1 = [Sprite spriteWithFile:@"game.png"];
[bg1 setPosition:ccp(211, 260)];
[self addChild:bg1 z:0];
//the above works fine!
Sprite * bgX[50];
//if comment out the next 3 lines, everything runs but I get an "unused variable" warning
bgX[0] = [Sprite spriteWithFile:@"mytree.png"];
[bgX[0] setPosition:ccp(240,150)];
[self addChild:bgX[0] z:0];
}
return self;
}
@end
以下功能可以正常工作(Cocos2D 0.7.3,如果这与2.1 SDK有关):
Sprite*Sprite[Sprite_COUNT];
对于(int i=0;i
如何在其他功能中使用这些精灵?如果我在声明精灵后放置“[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(MyFunction)userInfo:nil repeats:YES];”,当我尝试使用精灵调用MyFunction中的精灵时[0]setPosition:ccp(100100);我得到一个未定义的错误。在哪里可以定义精灵,以便全局使用?(或至少到实现文件为止)。我试着放雪碧,雪碧[50];头文件中有几个地方,但是我会在实现文件中得到语法错误。要使其公开,请将指针数组放在接口中,而不是放在实现中。
Sprite *sprites[SPRITE_COUNT];
for(int i = 0; i < SPRITE_COUNT; i++) {
sprites[i] = [Sprite spriteWithFile:@"file.png"];
[sprites[i] setPosition: ccp(0, 0)];
[self addChild: sprites[i] z:0];
}