Я пытаюсь создать собственный объект cocos2d и box2d, состоящий из нескольких тел, и мне нужно немного помочь со структурой.
Я хочу, чтобы объект состоял из двух тел и одного спрайта.Это заголовочный файл, который я создал:
@interface NewBlock : CCNode {
CCSprite *sprite;
b2Body *body1;
b2Body *body2;
b2World *world;
}
Так что я наследую от CCNode, который, как я полагаю, является правильным.Вот мой метод реализации:
-(id)initWithWorld:(b2World*)theWorld atLocation:(CGPoint)location {
if (self = [super init]) {
sprite = [CCSprite spriteWithFile:@"level_2.png"];
...box2d stuff...
[self addChild:sprite];
}
return self;
}
И в сцене, где я хочу объект, я бы создал его следующим образом:
NewBlock *block = [[NewBlock alloc] initWithWorld:world atLocation:ccp(100,100)];
[self addChild:block];
Я знаю, что могу наследовать от CCSprite
, но яможет потребоваться добавить больше спрайтов к объекту в какой-то момент, поэтому для меня будет полезен более общий пример.
Я попробовал пример с приведенным выше кодом и получил следующее сообщение в консоли:
sharedlibrary apply-load-rules all
Current language: auto; currently c++
Правильна ли моя структура для создания собственного объекта cococs2d / box2d?Я что-то упустил?