Box2Dでピンボールでも作ってみる


今回はピンボールを作っていこうかと思います。
とりあえず土台が出来上がったんでup。



ピンボール

spaceキーを押すとスタートします。
バーの操作は←、→キーです。

今回、ボール跳ね返すバーをある点を中心に回転させるためにRevoluteJointを使いました。
こんな感じで

var jd:b2RevoluteJointDef = new b2RevoluteJointDef;
            jd.Initialize(floor, left_bar, new b2Vec2(1.8, 3.3));  //引数は繋ぐ物体二つと回転の中心座標
            jd.enableLimit = true;
            jd.lowerAngle = -40 / (180/Math.PI);  //回転する最小の角度
            jd.upperAngle = 0;                     //最大
            jd.enableMotor = true;
            jd.motorSpeed = 4;                   //回転するスピードの初期値
            jd.maxMotorTorque = 10000000;
            leftJoint = world.CreateJoint(jd) as b2RevoluteJoint;


全ソース