1

iOS SDK用のcocos2dとbox2dの使用を開始したばかりですが、いくつか問題があります。テンプレートを機能させ、テストアプリ(画面をクリックしてランダムな文字のボックスが表示されるアプリ)をコンパイルしました。

私の最初の問題は、空白のテンプレートを取得する方法がわからないことです。新しいアプリを開始するときにこれを行う簡単な方法はありますか?

2つ目の問題は、オブジェクトの色を単純に変更する方法がわからないことです。私はこのようなものを定義することができます:

b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;

bodyDef.position.Set(p.x/PTM_RATIO, p.y/PTM_RATIO);
b2Body *body = world->CreateBody(&bodyDef);

b2CircleShape circle;
circle.m_radius = .5f;//These are mid points for our 1m box

b2FixtureDef fixtureDef;
fixtureDef.shape = &circle;
fixtureDef.density = 1.0f;
fixtureDef.friction = 0.1f;
fixtureDef.restitution = 0.3f;
body->CreateFixture(&fixtureDef);

しかし、何かを特定の色にする簡単な方法はありますか?

最後の質問:このサンプルアプリでは、加速度計の重力が有効になっていますか?

ありがとう!

4

2 に答える 2

3

特定のボディを特定の色にするには、ボディに「userData」を割り当てます。userDataは、必要な特定の色のスプライトです

そして、あなたの最終的な答えへの返信はイエスです。

于 2011-04-12T08:57:21.823 に答える
2

空白のテンプレートを作成するには、次のようにします

  1. -(id)initからこれらの行を削除します
CCSpriteBatchNode * batch = [CCSpriteBatchNode batchNodeWithFile:@ "blocks.png"容量:150];
[self addChild:batch z:0 tag:kTagBatchNode];
[self addNewSpriteWithCoords:ccp(screenSize.width / 2、screenSize.height / 2)];

CCLabelTTF * label = [CCLabelTTF labelWithString:@ "Tap screen" fontName:@ "Marker Felt" fontSize:32];
[自己addChild:label z:0];
[ラベルsetColor:ccc3(0,0,255)];
label.position = ccp(screenSize.width / 2、screenSize.height-50);
  1. 関数を削除します
-(void)addNewSpriteWithCoords:(CGPoint)p
  1. -(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)eventから次の行を削除します
[自己addNewSpriteWithCoords:場所];

やってみよう。:)

于 2011-04-12T08:54:35.330 に答える