我已经将CCSprite子类和我的类命名为Cars,就像这样:
+(Cars *) carWithNumber:(int)number COLOR:(int)color SHAPE:(int)shape {
return [[[Cars alloc] initWithNumber:number COLOR:color SHAPE:shape] autorelease];
}
-(id) initWithNumber:(int)number COLOR:(int)color SHAPE:(int)shape {
self = [self init];
if (self) {
self.texture = [self createTextureWithNumber:number COLOR:color SHAPE:shape];
}
return self;
}
然后我使用例如以下内容创建汽车:
Cars *oneCar = [Cars carWithNumber:2 COLOR:3 SHAPE:5];
[self addChild:oneCar];
看起来很完美,但如果我用Xcode分析代码,它就指向这一行
return [[[Cars alloc] initWithNumber:number COLOR:color SHAPE:shape] autorelease];
说对象发送过多次 - ?????????
我错过了什么?感谢。答案 0 :(得分:1)
您显示的代码似乎正确无误。这不是实际的代码,或者这里没有显示其他一些相关的上下文。你问题中的代码都是正确的。
答案 1 :(得分:0)
CCSprite是自动发布的,您无需将汽车设置为自动释放。