Game Maker Language リファレンス > 組み込み関数 用途別 > 物理エンジン > physics_apply_force()
物理学を扱うときは、オブジェクトに重力だけでなく力も適用する必要があります。 力とは、オブジェクトに速度の変化、方向の変化、または形状の変化を引き起こす影響であり、重力を定義するのと同じように、GameMaker Studio2の物理学の世界で定義されます。 2つのxforce / yforceコンポーネント。 力はオブジェクトの重心に適用されるのではなく、部屋のあるポイントに適用され、作用している他の力に応じて方向と速度、およびトルク(スピン)が変化することに注意してください。 オブジェクト上(重力など)。 説明に役立つ画像の例を次に示します。
上記の例では、下部のばねオブジェクトがボールオブジェクトに力を加えて、ボールオブジェクトを別の方向に移動させています。 正確な力は、xpos / ypos座標に関連してコンポーネントxforce / yforceから取得するベクトルによって定義されます。これは、力がxpos / yposからxforce / yforceまでのニュートン単位の距離として計算されることを意味します(ニュートンは 1キログラムの質量を1メートル/秒の2乗の速度で加速するのに必要な正味の力の量として定義されます)、方向はxpos / yposからxforce / yforceまでの角度です。 上記のような衝突のコードは、スプリングオブジェクトの衝突イベントに含まれ、次の例で提供されているようになります。
physics_apply_force(xpos, ypos, xforce, yforce)
with (other) { physics_apply_force(x, y, 0, -30); }
上記のコードは、30ニュートンの力と方向で衝突した他のオブジェクトにコードを適用します。