私は、複数のボディで構成されたカスタムのcocos2dとbox2dオブジェクトを作成しようとしています。カスタムcocos2d/box2dオブジェクトの作成
オブジェクトを2つのボディと1つのスプライトで構成します。これは私が作成したヘッダーファイルです:
@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?私は何か不足していますか?
私のbox2dコードではエラーでした:)正しいデザインの確認がしばしばエラーを特定するのに役立つと思われます。このようなクラスを作成すると、いくつかの強力なデザインオプションが可能になります! – Alex