本文整理汇总了C#中View.GetBoundingBox方法的典型用法代码示例。如果您正苦于以下问题:C# View.GetBoundingBox方法的具体用法?C# View.GetBoundingBox怎么用?C# View.GetBoundingBox使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类View
的用法示例。
在下文中一共展示了View.GetBoundingBox方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCollidedViews
public List<View> GetCollidedViews(View view)
{
Rectangle viewsBoundingBox = view.GetBoundingBox ();
Dictionary<View, bool> collidedViews = new Dictionary<View, bool> ();
foreach (PartitionCell cell in view.CollisionCells) {
foreach (View otherView in cell.Views) {
if (otherView.Visible && !collidedViews.ContainsKey(otherView) && otherView != view) {
Rectangle otherViewsBoundingBox = otherView.GetBoundingBox ();
if (otherViewsBoundingBox.Intersects (viewsBoundingBox)) {
collidedViews.Add (otherView, true);
}
}
}
}
List<View> result = new List<View> ();
foreach (View collidedView in collidedViews.Keys) {
result.Add (collidedView);
}
return result;
}
示例2: UpdatePartitionCells
public void UpdatePartitionCells(View view, List<PartitionCell> cells)
{
// Potential improvement: get the firstRow, lastRow, firstCol, and lastCol from
// cells, compare to the newly computed values, and only update the cells collection
// if there is a difference
foreach (PartitionCell cell in cells) {
cell.RemoveView (view);
}
cells.Clear ();
Rectangle boundingBox = view.GetBoundingBox ();
int firstRow = GetCellRow (boundingBox.Y);
int lastRow = GetCellRow (boundingBox.Bottom);
int firstCol = GetCellCol (boundingBox.X);
int lastCol = GetCellCol (boundingBox.Right);
for (int row=firstRow; row <= lastRow; row++) {
for (int col=firstCol; col <= lastCol; col++) {
PartitionCell cell = Cells [row, col];
cell.AddView (view);
cells.Add (cell);
}
}
}