forked from: [quickbox2d] ピタゴラ
forked from [quickbox2d] ピタゴラ (diff: 68)
ActionScript3 source code
/**
* Copyright 0954321982 ( http://wonderfl.net/user/0954321982 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/bsVl
*/
// forked from applicott's [quickbox2d] ピタゴラ
package
{
import Box2D.Common.Math.b2Vec2;
import Box2D.Dynamics.Joints.b2RevoluteJoint;
import com.actionsnippet.qbox.QuickBox2D;
import com.actionsnippet.qbox.QuickObject;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
[SWF (width=450, height=450)]
public class quick0 extends Sprite
{
private var mv:MovieClip=new MovieClip;
public function quick0()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
graphics.beginFill(0xffffff);
graphics.drawRect(0,0,500,500);
graphics.endFill();
//初期化
addChild(mv);
var sim:QuickBox2D = new QuickBox2D(mv,{gravityX:0.0, gravityY:20.2});
//地面を作る
sim.addBox( { x:10, y:0, width:30, height:0.1, density:0 } );
sim.addBox( { x:10, y:15, width:30, height:0.1, density:0 } );
sim.addBox( { x:0, y:15, width:0.1, height:30, density:0 } );
sim.addBox( { x:15, y:15, width:0.1, height:30, density:0 } );
for(var i0:int =2; i0<14; i0++)
{
for(var i:int =1; i<15; i+=1)
{
var boxA:QuickObject = sim.addBox({x:i, y:i0, width:1.7, height:0.1, angularDamping:1});
var rev:QuickObject = sim.addJoint({type:"revolute", a:boxA.body, b:sim.w.GetGroundBody()});
with (boxA.userData.graphics) lineStyle(), beginFill(0xFF0000), drawCircle(0,0,2);
}
}
sim.addBox( { x:7, y:1, width:0.5, height:0.5, density:1000 } );
sim.start();
sim.mouseDrag();
}
}
}