当前位置: 首页>>代码示例>>C#>>正文


C# View.GetBoundingBox方法代码示例

本文整理汇总了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;
        }
开发者ID:fordream,项目名称:Sunfish,代码行数:23,代码来源:Partition.cs

示例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);
                }
            }
        }
开发者ID:fordream,项目名称:Sunfish,代码行数:24,代码来源:Partition.cs


注:本文中的View.GetBoundingBox方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。