我试着喜欢了,如果拖曳对象 - 由Kinec记录触及与否。为此,我定义了各种形状(handArea)和(DangerArea)。对于碰撞检测我写了以下代码:载有()在Visual Studio中不起作用
private bool checkAreaViolation(List<MCvBox2D> DangerAreas, List<MCvBox2D> HandAreas)
{
int zaehler;
int ZaehlerDA;
int Test;
String TestS;
Test = 0;
ZaehlerDA= 0;
foreach (MCvBox2D DangerBox in DangerAreas)
{
zaehler = 0;
ZaehlerDA++;
foreach (MCvBox2D HandBox in HandAreas)
{
if(zaehler<=HandAreas.Count-1)
if (DangerAreas.Contains(HandAreas[zaehler])==true)
return true;
PointF[] handVertices = HandBox.GetVertices();
for (int i = 0; i < handVertices.Length; i++)
{
if (PointInPolygon(handVertices[i], DangerBox.GetVertices()))
{
return true;
}
zaehler++;
}
}
}
return false;
}
不幸的是,if (DangerAreas.Contains(HandAreas[zaehler])==true)
根本不起作用。
有谁知道这是为什么?
这看起来像C#,而不是C++进行比较。您正在使用错误的标签。 – Eugene 2012-03-19 15:32:30
我不是C#不太好,但在。载VB通常是弦乐,不知道这是否是在C#中的相同,而且,检查是否“DangerArea”!=什么。 – user959631 2012-03-19 16:01:49