コード例 #1
0
        /// <summary>
        /// Callback pro změnu stavu páčky gamepadu pro přímý pohyb
        /// </summary>
        /// <param name="x">x souřadnice joysticku od -100 do 100</param>
        /// <param name="y">y souřadnice joysticku od -100 do 100</param>
        private void joystickDirectMoveChanged(int x, int y)
        {
            Point corectedPoint = MathLibrary.convertPointToCircle(x, y, 0, 0, 101);

            moveRobot(corectedPoint.X, corectedPoint.Y);
            if (!(joystick is MainWindow))
            {
                controllView.moveDirectMoveJoystick(corectedPoint.X, corectedPoint.Y);
            }
        }
コード例 #2
0
ファイル: ControllView.cs プロジェクト: Brzobohaty/Robot
 private void joystickMouseMoveHandler(MouseEventArgs e, Point location, PictureBox box, Action <int, int> stickObserver)
 {
     if (MathLibrary.isPointInCircle(e.X, e.Y, joystickR, joystickR, joystickR))
     {
         location = e.Location;
         box.Invalidate();
         if (enabledStick)
         {
             stickObserver((int)Math.Floor((e.X - joystickR) / ((double)joystickR / 100)), (int)Math.Floor((e.Y - joystickR) / ((double)joystickR / 100)));
         }
     }
     else
     {
         Cursor.Position = box.PointToScreen(MathLibrary.convertPointToCircle(e.X, e.Y, joystickR, joystickR, joystickR - 2));
     }
 }