を汎用関数を使用して、私は三つの基本的なオブジェクト...全てから派生している私は、C#/ XNAで物理エンジンを作っていますC#/ XNAで衝突検出のための
スフィア キューブ 飛行機
を持っています
ゲームオブジェクト
私はゲームオブジェクトのリストにすべての私のオブジェクトを格納し、私はこのリストをループしたいとfoの正しい機能に行きますCheckCollision関数を呼び出すことができるだろうRオブジェクト
などの各ペアは
、外出先ではスフィア、
GO2ある球
if(CheckCollision(go, go2))
{
//do stuff
}
bool CheckCollision(Sphere one, Sphere two)
{
//Check Sphere to Sphere
}
bool CheckCollision(Sphere sphere, Plane plane)
{
//Check Sphere to Plane
}
であり、私はそれだけで使用することwithour正しい機能に行きたいですチェックの場合。
ありがとうございます。
[複数のディスパッチ通知アルゴリズムをC#で最適化する]の可能な複製(http://stackoverflow.com/questions/2367903/optimizing-multiple-dispatch-notification-algorithm-in-c) – phoog
@Ramhound構文はどうでしたか無効?サンプル全体にファイルを含めることはできませんでした。なぜなら、ポイントを取得するために必要なのは、実行時にパラメータを決定しなければならない機能をオーバーロードしたいと思ったからです。 phoog:私の問題で仮想ディスパッチを検索することを知らなかった。リンクに私をリダイレクトするのではなく、答えてくれてありがとう。 – chrispytoast
@chrispytoast - 忘れてしまいました...あなたのサンプルコードに何が間違っているかを説明する時間はありません。 –