私はXNAで2Dゲームを開発しており、現在、物理学のクラスに取り組んでいます。私の現在のタスクは、オブジェクトが別のオブジェクトと衝突したときにオブジェクトを停止することです。2つのオブジェクトが衝突するたびに、ゲームでこの関数を呼び出すようにしました。
public void BlockMovement(gameObject target) {
//you can call width by just typing width. same for height
owner.position.X += (owner.position.X - target.position.X);
owner.position.Y += (owner.position.Y - target.position.Y);
}
問題は、停止する代わりにそれです。移動していたオブジェクトは、その幅の分だけ押し戻されます。誰かがこれを行う方法を教えてください/教えてもらえますか私は多くのプロジェクトでこれに長い間立ち往生しています。
ありがとう