我在它自己的类中有一个“炸弹” CCSprite
(如果不使用 cocos2d 的人读到这个,CCSprite 几乎就是一个 NSObject)。
CCSprite 文件如下所示:
Bomb.h:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import <OpenAL/al.h>
@class HelloWorldLayer;
@interface Bomb : CCSprite {
@private
int length;
}
@property (readwrite) int length;
@end
Bomb.m:
#import "Bomb.h"
@implementation Bomb
@synthesize length = _length;
@end
我将它添加到我的游戏层(HelloWorldLayer
如专业人士)@class Bomb;
中,并使用 .h,并将 Bomb.h 导入到我的 HWLayer.m 中,并在我的代码中使用它,在这里:
Bomb *bombe = [[Bomb alloc] init];
bombe.position = explosionPoint;
bombe.length = player.explosionLength; //player is another CCSprite class. This one is from the method. ....fromPlayer:(PlayerSprite *)player
//Logging here works, tested and the bombe.position is valid and .length is valid
[currentBombs addObject:bombe];
NSLog(@"%@",currentBombs); //Here doesn't, guessing crash is at ^
如前所述,它addObject:
在线上崩溃。我真的不明白为什么,因为我只是用一个Bomb
类替换了一个未分类的 CCSprite。崩溃只是一个(lldb)
,左边的东西输出了几千个:
其中说描述,所以我会假设它在我的 CCSprite 子类中是错误的。但是炸弹。*记录工作正常!
有谁明白为什么它不起作用?
编辑: