現在、Unityエンジンで動作するUnturnedゲーム用のmodを開発中です。 モッズはほぼ準備ができていますが、私はArea
クラスにいくつか問題があります。 これは2つの斜めの点が与えられて構成された矩形領域を表します。 エリアに特定のVector3が含まれているかどうかを調べる
問題のある部分は、Contains(Vector3)
メソッドであり、動作しません。
public class Area
{
public Vector3 A;
public Vector3 B;
public Area(Vector3 A, Vector3 B)
{
this.A = A;
this.B = B;
}
public bool Contains(Vector3 player)
{
return Vector3.Distance(A, B) >= Vector3.Distance(player, A)
&& Vector3.Distance(A, B) >= Vector3.Distance(player, B);
}
}
誰かがContains
の方法を修正する方法を教えてもらえますか?何か不足していますか? 目次:AlthoghはVector3を使用しています。私は2D空間について話しています!
問題は幾何学的です。与えられた2点で、これらの点を反対側の端として持つ無限の矩形数を定義できます。 – apomene
@apomeneしたがって、4点を定義する必要がありますか? – nickkoro
このような何か試してみてください:。 ブールゲームオブジェクト::ボディ:: isInRectangle(constのIRR ::コア:: vector2df&objectPositionToCheck、DOUBLE半径) { リターンthis->位置を()X> = objectPositionToCheck.X - 半径&& this-> Position()。X <= objectPositionToCheck.X + radius && this-> Position()。Y> = objectPositionToCheck.Y - 半径&& this-> Position()。Y <= objectPositionToCheck.Y + radius; } – user743414