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


C# IActor.GetRectCollision方法代码示例

本文整理汇总了C#中IActor.GetRectCollision方法的典型用法代码示例。如果您正苦于以下问题:C# IActor.GetRectCollision方法的具体用法?C# IActor.GetRectCollision怎么用?C# IActor.GetRectCollision使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IActor的用法示例。


在下文中一共展示了IActor.GetRectCollision方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ActorTrigger

        /// <summary> Проверить пересичение Actor2D с Trigger. </summary>
        /// <param name="a"> Актер. </param>
        /// <param name="t"> Триггер. </param>
        public static bool ActorTrigger(IActor a, Trigger t)
        {
            switch (t.type)
            {
            case GeometryType.Point:

                var r = a.GetRectCollision();
                var p = t.points[0];
                return p.X >= r.X && p.Y >= r.X && p.X <= r.X + r.Width && p.Y <= r.X + r.Height;

            case GeometryType.Line:
                return RectLine(a.GetRectCollision(), t.points[0], t.points[1]);

            case GeometryType.Rect:
                return
                    a.GetRectCollision().Intersects(new RectangleF(t.points[0].X, t.points[0].Y, t.points[1].X,
                        t.points[1].Y));

            //case GeometryType.Polygon:
            // TODO: GeometryType.Polygon
            default:
                throw new NotImplementedException("[DE] Collision: Тип геометрии " + t.type + " не реализован.");
            }
        }
开发者ID:Psy-Effects,项目名称:DoomEffect,代码行数:27,代码来源:Collision.cs

示例2: ActorActor

        /// <summary> Проверка столкновение с актерами с учётом групп. </summary>
        /// <param name="a1"> Первый актер. </param>
        /// <param name="a2"> Второй актер. </param>
        /// <param name="checkGroup"> Учитывать группы столкновений. null - не проверять. </param>
        public static bool ActorActor(IActor a1, IActor a2, string checkGroup = null)
        {
            if (a1 == null || a1.Width <= 0 || a1.Height <= 0 || a2 == null || a2.Width <= 0 || a2.Height <= 0)
            {
                return false;
            }

            if (checkGroup != null && !Groups.GroupWith(a1.Group, a2.Group))
            {
                return false;
            }

            return a1.GetRectCollision().Intersects(a2.GetRectCollision());
        }
开发者ID:Psy-Effects,项目名称:DoomEffect,代码行数:18,代码来源:Collision.cs


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