我已经准备好很多地方告诉我我不应该继承 CCSprite 类,而只是将 Sprite 作为成员变量添加到我的类中。
这是我所做的: 创建了一个CCNode类, 向我的节点类添加了一个 CCSprite 变量, 初始化我的 Sprite 并将其作为子节点添加到我的节点中。
我现在有一个 CCLayer,我想在其中绘制这些 Sprite ,但是当我将节点添加为子节点时,什么也没有绘制。如果我将节点 Sprite 添加为子节点而不是它将绘制的节点。
我的问题是,是否有办法通过将节点作为子节点添加到图层中来绘制我的 Sprite ,或者添加 Sprite 是唯一的方法吗?
我是 Objective-c 和 iPhone 开发新手,因此我们将不胜感激任何帮助。
编辑 这是我的 CCNode 类 - AnimalSprite 是我的 CCSprite。
@implementation Animal
@synthesize animalSprite = _animalSprite;
-(Animal *) initWithFile:(NSString *)texture position:(CGPoint) position
{
self.animalSprite = [CCSprite spriteWithFile:texture];
self.animalSprite.position = position;
self.animalSprite.scale = 0.25f;
[self addChild:self.animalSprite];
return self;
}
-(void) dealloc{
[super dealloc];
}
@end
现在,在我的 CCLayer 类中,我有一个级别变量,其中包含我的节点列表。
//Load Level
Level *level = [LoadLevel loadLevel];
for (Animal *animal in level.animals)
{
[self addChild:animal];
}
编辑我创建节点对象,然后按以下方式将它们添加到级别类中的数组中。
Animal *animal = [[[Animal alloc] initWithFile:animalFileName position:position] autorelease];
[level.animals addObject:animal];
最佳答案
关于iphone - Cocos2d-iPhone中继承CCSprite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389566/