1

私はこのコードを実行します:

- (void)unitButtonButtonTapped:(id)sender {
    [_label setString:@"Last button: Unembossed square"];
    MilitaryUnits *target = nil;
    target = [Peasants militaryUnits];
    target.position = ccp(100, 450);
    [self addChild:target];
}

そして、私はこのエラーを受け取ります: *キャッチされていない例外 'NSInternalInconsistencyException' によりアプリを終了しています。

これらは私の.hおよび.mクラスファイルです

#import "cocos2d.h"

@interface MilitaryUnits : CCSprite {
    int _experience;
    int _number_of_units;
    int _stamina;
    int _armor_level;
    int _weapon_levell;
}

@property (nonatomic, assign) int experience;
@property (nonatomic, assign) int number_of_units;
@property (nonatomic, assign) int stamina;
@property (nonatomic, assign) int armor_level;
@property (nonatomic, assign) int weapon_levell;

@end

@interface Peasants : MilitaryUnits{

}
+(id)militaryUnits;

@end

#import "MilitaryUnits.h"

@implementation MilitaryUnits

@synthesize number_of_units = _number_of_units;
@synthesize stamina = _stamina;
@synthesize experience = _experience;
@synthesize armor_level = _armor_level;
@synthesize weapon_levell = _weapon_levell;

@end

@implementation Peasants

+ (id)militaryUnits {

    Peasants *militaryUnits = nil;
    if ((militaryUnits = [[[super alloc] initWithFile:@"Target.png"] autorelease])) {
    }
    return militaryUnits;

}

@end

注、私はcocos 2dを使用しています

4

1 に答える 1

2

あなたのスプライトはゼロのように見えます。つまり、ファイル「Target.png」が見つかりません。ファイル名の大文字と小文字が (ファインダーで) コードで記述したものと同じであること、およびファイルが Xcode のターゲットのメンバーシップに含まれていることを確認してください。

また

+ (id)militaryUnits {

    Peasants *militaryUnits;
    if ((militaryUnits = [[[super alloc] initWithFile:@"Target.png"] autorelease])) {
        return militaryUnis;
    } else {
        CCLOGERROR(@"your favorite whine style for errors like file not found");
        return nil;
    }  
}
于 2012-07-02T07:21:05.450 に答える