Beispiel #1
0
        /// <summary>
        /// (перемещает этот объект в выбранном направлении)
        /// </summary>
        /// <param name="speed">(скорость перемещения)</param>
        /// <param name="typeX">(<see cref="SideX"/> направление по оси X)</param>
        /// <param name="typeY">(<see cref="SideY"/> направление по оси X)</param>
        public static void MoveAside(this ObjectSingle objectToMove, float speed, SideX typeX = SideX.middle, SideY typeY = SideY.middle)
        {
            int kX = 0;
            int kY = 0;

            switch (typeX)
            {
            case SideX.left:
                kX = -1; break;

            case SideX.middle:
                kX = 0; break;

            case SideX.right:
                kX = 1; break;
            }
            switch (typeY)
            {
            case SideY.up:
                kY = -1; break;

            case SideY.middle:
                kY = 0; break;

            case SideY.down:
                kY = 1; break;
            }
            Move(objectToMove, speed, kX.GridToX(), kY.GridToY());
        }
        PointF CalcControlPoint(int Offset, SideX Side)
        {
            PointF Point = new PointF((int)Side, 0);
            if (Math.Abs(Offset) == 1) Point.X = .5f;
            return Point;

            /*
            PointF Point = null;

            if (Offset == 0) return Point;
            else if (Math.Abs(Offset) == 2) Point = new PointF(Side, 0);
            else Point = new PointF(.5f, 0);

            return Point;
            */
        }
Beispiel #3
0
 public void ResizeX(SideX s = SideX.Right)
 {
     apprSideX = s;
     switch (s)
     {
         case SideX.Left:
             area.AxisX.Maximum = area.AxisX.Minimum + widthX;
             break;
         case SideX.Center:
             double center = (area.AxisX.Minimum + area.AxisX.Maximum) / 2;
             area.AxisX.Minimum = center - widthX / 2;
             area.AxisX.Maximum = center + widthX / 2;
             break;
         case SideX.Right:
             area.AxisX.Minimum = area.AxisX.Maximum - widthX;
             break;
     }
     centerX = area.AxisX.Maximum / 2 + area.AxisX.Minimum / 2;
 }
 int Offset(Point Base, SideX SideX, SideY SideY)
 {
     int OffsetX = (SideX == SideX.left) ? 1 : -1; return SquareOffset(Base, OffsetX, SideY);
 }