1

私は、プレイヤーがオブジェクトを撃ってそれらを押したり、床/壁を撃って場所から場所へと移動したりできるレーザー兵器を持っているゲームを作ろうとしています。私の問題は、プッシュバックを作成する方法がわからないことです-撃ったときに反対方向に推進する力であり、他のオブジェクトを押す力でもありません(ただし、計算方法がわかれば簡単になります)前の)。誰でも私を助けることができますか?

私が持っている情報:

Laser = startX, startY, endX, endY.
Player = x, y, width, height, xVel, yVel.
D = distance between the player and the laser end point.

差額はどのように計算するのxVel\yVelですか?

4

1 に答える 1

1

オブジェクトの質量と発射体の力を知る必要があります。クラスを拡張したり、インターフェイスを構築したり、これらの属性をレーザーやプレーヤーにアタッチして物理メソッドのシグネチャで使用したりできます。

コメントがあなたを言うように

force=-反対の力

ニュートンは、力=質量*加速度を教えてくれます。

シンプルにするために、速度を加速に使用できます。

速度を見つけるには:

距離 = 始点 - 終点

速度を上げるには、構成できる間隔でカウントするタイムティック方式を使用する必要があります。

速度 = 距離 * 時間

これでフォースを使って相手に負のスピードを与えることができます!

于 2012-09-27T15:35:02.553 に答える