2009-05-21 4 views
1

Ich bekomme einen nicht abgefangenen Ausnahmefehler, wenn ich versuche, Sprites zu einem Array hinzuzufügen, und alles sieht gut für mich aus .. Ich verwende MonocleStudios SimpleGame-Projekt wenn das folgende funktioniert gut (Cocos2D 0.7.3,Cocos2d: Hinzufügen von Sprites in einem Array bewirkt, dass die Anwendung mit nicht abgefangener Exception beendet wird

The .m file:

@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 

Antwort

0

Die: für dieses monoclestudios dot com/static/simplegame.zip

-Code sollte ziemlich selbsterklärend sein zählt mit 2.1 SDK):

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]; 
} 
+0

Das funktioniert. Danke David! – Xeno

+0

Wie verwende ich diese Sprites in anderen Funktionen? Wenn ich "[NSTimer planedTimerWithTimeInterval: 0.05 target: self selector: @selector (MyFunction) userInfo: keine Wiederholungen: YES];" nachdem ich die Sprites erkläre, wenn ich versuche, die Sprites in MyFunction mit Sprites [0] setPosition: ccp (100,100); Ich bekomme einen undefinierten Fehler. Wo kann ich Sprites definieren, damit ich es global verwenden kann? (Oder zumindest so weit wie die Implementierungsdatei). Ich habe versucht Sprite * Sprites zu setzen [50]; ein paar Stellen in der Header-Datei, aber ich würde Syntaxfehler in der Implementierungsdatei bekommen. – Xeno

+0

habe es behoben .. einfach genug! – Xeno

Verwandte Themen