Tratando o Movimento com Clique do Mouse - Educational Game Programming Library

Para poder tratar os eventos de movimento gerados pelo mouse enquanto o usuário estiver com o botão do mouse pressionado é necessário criar uma função para essa tarefa. Essa função é útil para tratar situações onde o usuário deve clicar e arrastar um objeto para outra posição. A função para tratar esse evento deve ter a seguinte sintaxe:

void MouseClickMotionInput(int x, int y)
{
  /* Bloco de Comandos */
}

Também é necessário indicar que essa é a sua função para tratar eventos de movimento do mouse enquanto o botão do mouse estiver pressionado usando a função SetMouseClickMotionInput:

graphics.SetMouseClickMotionInput(MouseClickMotionInput);

Dessa forma, sempre que o mouse for movimentado enquanto o usuário estiver clicando, a função MouseClickMotionInput será executada e os parâmetros x e y indicaram a posição do mouse na tela.

Exemplo:

void MouseClickMotionInput(int x, int y)
{
  //As variáveis mouse_x e mouse_y recebem a posição x e y do mouse, ou seja, o local
  //onde o usuário está com o cursor do mouse mouse.
  mouse_x = x;
  mouse_y = y;  
}