« Box2Dで三角形 | メイン | box2dで星っぽいの作ってもうまく動かない その2 »

box2dで星っぽいの作ってもうまく動かない

del.icio.us it!   hatena bookmark
続きを書いてみた

box2dで星っぽいの作ってもうまく動かない その2 (Unknown Quality)
http://un-q.net/2008/01/box2d_flash_as3.html

----------------------

どうやら物理エンジンでは凸包(convex)しか認められないのはよくあることらしい。
http://twitter.com/rch850/statuses/650991802
これは動く
このコンテンツには最新のFlashPlayerが必要です
でもこれはうまく動かない
このコンテンツには最新のFlashPlayerが必要です
var bd:b2BodyDef = new b2BodyDef();
var t:b2PolyDef = new b2PolyDef();

t.vertexCount = 8;

var hoge:Number = Math.PI*2 / 8;
var r:Number = 20;
for (var i:int = 0; i<8; i++) {
    // r = (i % 2 == 0)? 20 : 10; // アンコメントで星っぽいヤツ
    t.vertices[i].Set(Math.cos(hoge*i)*r, Math.sin(hoge*i)*r);        
}
            
t.density = 1;
t.friction = 0.5;
t.restitution = 0.3;

bd.AddShape(t);
bd.position.x = stage.mouseX/m_physScale;
bd.position.y = stage.mouseY/m_physScale;

m_world.CreateBody(bd);


ちなみにbox2dでは多角形の頂点の数に制限がある。
b2Settings.asに
static public const b2_maxPolyVertices:int = 8;
って書いてある><


トラックバック

このエントリーのトラックバックURL:
http://un-q.net/mt-tb.cgi/268

コメントを投稿

crossreview