まる(2)複数のVector2[]配列からBody.を作りSpriteと関連付ける(複雑な形態のBody)まず、どうやって複数のVector2[]をBodyに渡すのかが、意外に情報がない。初めはBodyをjointでつなごうと思ったが、どうもちがうらしい。同じ悩みをもつサイトにいきついた。http://morishin127.tumblr.com/post/46425988233/ioscocos2d-box2d%E8%A4%87%E6%95%B0%E3%81%AE%E5%9B%B3%E5%BD%A2%E3%82%92%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B%E3%82%8BiOSとCocos2d-xだがBox2dであるため、概念的には一緒であろう。このサイトのコードによるとBody.CreateFixtureでshapeを複数追加していくことができるらしい。ここで、shapeとは?など色々疑問があったが、PhysicsFactory.createPolygonBodyのソース(下コード)を見てみるとなんとなく理解できた。boxBody;}2-3行目はBody自体の設定(BodyDef定義)、引数より行う。staticBody(重力の影響を受けない)、DynamicBody(重力の影響を受ける)など後ほどコードを載せる。5-7行目は座標系の変換。Bodyと実座標は違うとのこと。おまじないと思っておいてよいとのこと。9行目でBodyDefからBodyを生成する11行目でShpaeクラスのサブクラスのPolygonShapeを生成。いう手続きが行われている。先のサイトの情報より11行~18行をVector2[]配列数だけループさせればよいことが分かった。準備として、その1で、作成した10個のVector2[]配列を定義部を記載しておく。スマートな方法が思いかなかったが、ArrayListに10個のVector2[]を突っ込んだ。Helperで直接定義文が出来るので、そんなめんどくさくはないが、やたらと長くなる。vertices_list.add(vertices10);ここから、複数のVector2[]配列をshapeにしてBodyに登録していく部である。true));BodyDefでBody(Sprite)の回転許可や、静止物体なのか、動的物体なのかを定義する。以上で、複数のVector2[]配列をBodyに登録し物理シミュレーションができる状態となるはずです。closed.ブログ作者「まる」とりあえず、興味を持ったことを疲れない程度でやってみるブログ。FameThemes。