Jak przemieszczac plynnie kursor myszki ?

0

w jaki sposob przemiescic plynnie myszke z punku A do punktu B na ekranie ? za pomoca

SetCursorPos(strtoint(wysokoscstring), strtoint(szerokoscstring));

myslalem o dwoch petlach, ale nie beda szly razem... i przesowanie kursora bedzie w dwoch liniach prostopadlych...

0

A to nie jest trudne, obliczanie kolejnych pozycji przedstawię, sam sobie to zaadaptuj do myszki:

int Ax, Ax, Bx, By; // punkt początkowy i końcowy
int steps = 10; // 10 punktów pośrednich
float x = Ax;
float y = Ay;
float dx = float(Bx-Ax) / float(steps);
float dy = float(By-Ay) / float(steps);
for(int i=0; i<steps; i++) {
    x += dx;
    y += dy;
    // tutaj coś robisz z tymi x i y
    }
0

hehe dzieki... myslalem, ze to oczywiste, ale powiem teraz ze chodzi o DELPHI :) jak bys mogl bylbym wdzieczny za przetlumaczenie bo ni troche nie pojmuje C :P

0

No weź to na logikę.

var
  Ax, Ax, Bx, By : integer; // punkt początkowy i końcowy 
  steps, i : integer;
  x, y, dx, dy : double;
begin
  steps := 10; // 10 punktów pośrednich
  x := Ax;
  y := Ay;
  dx := double(Bx-Ax) / double(steps);
  dy := double(By-Ay) / double(steps);
  for i := 0 to steps do
  begin
    x := x + dx;
    y := y + dy;
    // tutaj coś robisz z tymi x i y
  end;
end;
0

dzieki :) jest maly problem z kodem...

  dx := double(Bx-Ax) / double(steps);
  dy := double(By-Ay) / double(steps);

przy kazdym wyzuca blad:

Invalid typecast

co z tym zrobic ?

0

Mój błąd, straciłem czujność i napisałem w C++ ;)
A w Delphi to po prostu wywal rzutowania, bo nie są potrzebne.

dx := (Bx-Ax) / steps;
dy := (By-Ay) / steps;
0

dzieki :) A jest sposob, aby spowolnic ten kursor ? bo teraz nic tylko widac migniecie i juz jest pod B... :P a nie cchce dawac np 2000000 rychow, bo to spowolni komputer...

0

eee, zamiast w pętli wykonuj każdy krok w timerze na przykład... mówiłem, że tylko obliczanie podam, dostosować to musisz sam.

0

hmmm... tylko jak to polaczyc ?

0

ok mam :) dzieki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1