本文整理汇总了C#中Line.CollidesWith方法的典型用法代码示例。如果您正苦于以下问题:C# Line.CollidesWith方法的具体用法?C# Line.CollidesWith怎么用?C# Line.CollidesWith使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Line
的用法示例。
在下文中一共展示了Line.CollidesWith方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CollidesWith
public bool CollidesWith(OrientedRectangle orientedRectangle)
{
Rectangle lr = orientedRectangle.TransformToLocalRectangle();
IVector2D basee = Base.Substract(orientedRectangle.Center);
basee = basee.Rotate(-orientedRectangle.Rotation);
basee = basee.Add(orientedRectangle.HalfExtend);
IVector2D direction = Direction.Rotate(-orientedRectangle.Rotation);
var line = new Line(basee, direction);
return line.CollidesWith(lr);
}
示例2: CollidesWith
public bool CollidesWith(LineSegment lineSegment)
{
var sLine = new Line(lineSegment.Point1, lineSegment.Point2.Substract(lineSegment.Point1));
if (!sLine.CollidesWith(this))
{
return false;
}
var rRange = new Range(Origin.X, Origin.X + Size.X);
var sRange = new Range(lineSegment.Point1.X, lineSegment.Point2.X);
sRange = sRange.SortRange();
if (!rRange.Overlaps(sRange))
{
return false;
}
rRange = new Range(Origin.Y, Origin.Y + Size.Y);
sRange = new Range(lineSegment.Point1.Y, lineSegment.Point2.Y);
sRange = sRange.SortRange();
return rRange.Overlaps(sRange);
}
示例3: CollidesWith
public bool CollidesWith(Line line)
{
return line.CollidesWith(this);
}