Advertisement
Guest User

Untitled

a guest
Jan 29th, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1.         public static void SmoothMove(int X, int Y, int moveTime)
  2.         {
  3.             if (moveTime <= 0) moveTime = 500; else moveTime *= 1000;
  4.             if (moveTime > 30000) moveTime = 30000;
  5.             double rateDelay = 1000 / 60; // 1 sec div by framerate (60)
  6.             int stepsCount = (int)(moveTime / rateDelay);
  7.             double pos = 0;
  8.             int posX = 0, posY = 0;
  9.             int oldX = 0, oldY = 0;
  10.             for (int i = 1; i <= stepsCount; i++)
  11.             {
  12.                 oldX = posX;
  13.                 oldY = posY;
  14.                 pos = -(Math.Cos(Math.PI * i / stepsCount) - 1) / 2;
  15.                 posX = (int)(X * pos);
  16.                 posY = (int)(Y * pos);
  17.                 Move(posX - oldX, posY - oldY);
  18.                 Thread.Sleep((int)rateDelay);
  19.             }
  20.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement