addRevoluteJoint

hoge1e3 edited this page Jan 2, 2018 · 4 revisions

BodyActor

addRevoluteJointメソッド

回転するジョイントを作成します。シーソーやピンボールのフリッパーを作るのに適しています。

addRevoluteJoint(param);

paramに指定できるものは次のものです

  • x: 回転の中心のx座標です。省略するとこのオブジェクトのx座標を用います
  • y: 回転の中心のy座標です。省略するとこのオブジェクトのy座標を用います
  • lowerAngle, upperAngle: 回転角に制限を加える場合、それぞれ最小角度と最大角度を指定します。
  • other 他のBodyActorと接続する場合に指定します.指定がない場合は,回転の中心が(x,y)の位置に固定されます.

例1

Flipper

extends BodyActor;
//(300,200)を中心に回転する
addRevoluteJoint{x:300,y:200,lowerAngle:-30,upperAngle:30};

while(true) {
    if(getkey(32)) applyImpulse(0,-30);
    update();
}

Main

new Flipper{x:200,y:200,scaleX:10,scaleY:1};

例2

Main

r=new BodyActor{
    fillStyle="white",
    width=100,height=10,
    x=100,y=0
};
r2=new BodyActor{
    fillStyle="white",
    width=100,height=10,
    x=200,y=0
};
//r自身は(50,0)を中心に回転
r.addRevoluteJoint{x:50,y:0};
//rとr2を接続.回転の中心は初期状態では(150,0),その後の物理運動に応じて変化
r.addRevoluteJoint{x:150,y:0,other:r2};
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.