我有一个带有2个System.Window.Shape.Rectangle的Canvas,可以移动。
private void TimerAnimiere_Tick(object sender, EventArgs e)
{
zeichenfläche.Children.Clear();
test.Animiere(timerAnimiere.Interval);
test.Draw();
test2.Animiere(timerAnimiere.Interval);
test2.Draw();
if (test.DetectCollision(test2.drawRect) == IntersectionDetail.Intersects)
{
Thread.Sleep(1000);
}
}
2对象test和test2来自我自己的Class,并包含一个Rectangle(drawRect)。 我想检测它们是否发生碰撞。所以我写了以下方法:
public override IntersectionDetail DetectCollision(Rectangle colidingObjekt)
{
var testwert = this.drawRect.RenderedGeometry.FillContainsWithDetail(colidingObjekt.RenderedGeometry);
return testwert;
}
但问题在于,即使它们不是,它总会返回它们相交。 我不明白。我错过了什么吗?