三角形をつなげて、一個前のをやってみた。
box2dで星っぽいの作ってもうまく動かない (Unknown Quality)
http://un-q.net/2008/01/box2d_as3_flash.html
まだ挙動がおかしい><
でもこれはこれでおもしろいかも
もっとすっきりしたやり方があるっぽいけど保留w
box2dで星っぽいの作ってもうまく動かない (Unknown Quality)
http://un-q.net/2008/01/box2d_as3_flash.html
まだ挙動がおかしい><
でもこれはこれでおもしろいかも
このコンテンツには最新のFlashPlayerが必要です
もっとすっきりしたやり方があるっぽいけど保留w
// localPosition使えばもっとすっきりするんじゃね
var bd:b2BodyDef = new b2BodyDef();
var t1:b2PolyDef = new b2PolyDef();
var t2:b2PolyDef = new b2PolyDef();
var t3:b2PolyDef = new b2PolyDef();
var t4:b2PolyDef = new b2PolyDef();
t1.vertexCount = 3;
t2.vertexCount = 3;
t3.vertexCount = 3;
t4.vertexCount = 3;
var hoge:Number = Math.PI*2 / 8;
var r:Number = 20;
var a:Array = new Array();
for (var i:int = 0; i<8; i++) {
r = (i % 2 == 0)? 20 : 10;
a.push({x:Math.cos(hoge*i)*r, y:Math.sin(hoge*i)*r});
}
t1.vertices[0].Set(a[7].x, a[7].y);
t1.vertices[1].Set(a[0].x, a[0].y);
t1.vertices[2].Set(a[1].x, a[1].y);
t2.vertices[0].Set(a[1].x, a[1].y);
t2.vertices[1].Set(a[2].x, a[2].y);
t2.vertices[2].Set(a[3].x, a[3].y);
t3.vertices[0].Set(a[3].x, a[3].y);
t3.vertices[1].Set(a[4].x, a[4].y);
t3.vertices[2].Set(a[5].x, a[5].y);
t4.vertices[0].Set(a[5].x, a[5].y);
t4.vertices[1].Set(a[6].x, a[6].y);
t4.vertices[2].Set(a[7].x, a[7].y);
t1.density = t2.density = t3.density = t4.density = 1;
t1.friction = t2.friction = t3.friction = t4.friction = 0.5;
t1.restitution = t2.restitution = t3.restitution = t4.restitution = 0.3;
bd.AddShape(t1);
bd.AddShape(t2);
bd.AddShape(t3);
bd.AddShape(t4);
bd.position.x = stage.mouseX/m_physScale;
bd.position.y = stage.mouseY/m_physScale;
//bd.rotation = Math.random() * Math.PI / 8;
m_world.CreateBody(bd);



