日期:2014-05-18  浏览次数:20784 次

物体碰撞判断
假设在一个窗体里面 .有9个长方形,
其中一个在屏幕中间,其他的8个在屏幕的4边.
简单画一下
 
  (长方形1) (长方形2) (长方形3)
   
   
  (长方形4) (长方形5) (长方形6)


  (长方形7) (长方形8) (长方形9)

如何判断当某一个长方形(除了长方形5),当碰到长方形5的边缘(注意是边缘)就停下来呢.
精确些的算法.精确到.
假如,长方形3移动,当长方形3左下角碰到了长方形5的右上角的时,长方形3就停下来呢?

------解决方案--------------------
探讨
void Test()
{
Rectangle rect;
if (rect.IntersectsWith(rect2))
{
MessageBox.Show("碰到了");
}
}

------解决方案--------------------
你比如说2个圆形的, 你虚拟成 边长=半径的 两个方形,当两个方形的角相碰,而圆从视觉上并没用接触.
------解决方案--------------------
边长=直径.说错了.


试试用 Region.IsVisible() 看看呢?