0

私は夢中になるつもりです。実際、私は Rectangle を使用して、点が長方形の内側にあるかどうかを確認しています。

私の長方形は次のように定義されています: {X:0 Y:480 Width:480 Height:480} ポイント (Vector2) は次のように定義されています: {X:283,3333 Y:141,1111}

通常、ポイントは長方形の内側にありますか? だがしかし...

if (rectangle.Contains(new Point((int)point.X, (int)point.Y)))
{
   return true;
}
return false;

別のテストでは、同じコードで動作します: {X:-480 Y:0 Width:480 Height:480} include {X:-12,22222 Y:12,22223}

Plz、本当にアドバイスが必要です。

真剣に、なぜそれが機能しないのか理解できません!

4

2 に答える 2

1

長方形が Y = 480 から始まる場合、点 (283, 141) はその中にありません。

于 2012-07-21T16:30:56.220 に答える
0

申し訳ありませんが、長方形の内側の点はどうですか?

点が長方形の内側にあるかどうかを知る簡単なテスト:

if ( p.X >= rectangle.X && p.X <= Rectangle.X + Rectangle.Width && p.X >= rectangle.X && p.Y <= Rectangle.Y + Rectangle.Height)

Point (283, 141) は明らかに 3 番目の条件を満たしていないため、Rectangle には含まれません。

ただし、この長方形の中にあります {X:0 Y:0 Width:480 Height:480}

于 2012-07-21T16:32:57.590 に答える