Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Sterowanie obiektami za pomocą myszy

Ostatnio zmodyfikowano 2008-12-14 10:02
Autor Wiadomość
pixelmaster
Temat założony przez niniejszego użytkownika
[Allegro] Sterowanie obiektami za pomocą myszy
» 2008-12-13 21:59:43
Siema.
Robie sobie prostą gierkę, i chcę zrobić coś takiego:
mam sobie kwadracik i jeśli na niego kliknę i przytrzymam przycisk myszy i zacznę przesuwać, to kwadracik będzie przesuwał się za myszką. Niestety ciś mi nie wychodzi...
C/C++
if( mouse_x >= ludek2.x && mouse_x <= ludek2.x + 40 && mouse_y >= ludek2.y && mouse_y <= ludek2.y + 40 && mouse_b == 1 ) {
    if( mouse_x++ ) {
        ludek2.x++;
    }
    if( mouse_x-- ) {
        ludek2.x--;
    }
    if( mouse_y++ ) {
        ludek2.y++;
    }
    if( mouse_y-- ) {
        ludek2.y--;
    }
}

zrobiłem coś takiego.
Proszę o pomoc, mam nadzieję, ze wiecie o co mi chodzi :E
P-2736
DejaVu
» 2008-12-13 23:30:14
Wydaje mi się, że coś takiego powinno działać tak jak chcesz:
C/C++
//int wcisnieto_x, wcisnieto_y,przesun_x,przesun_y, wcsnieto_b; <= gdzieś wcześniej zadeklarowane - najlepiej w miejscu gdzie tworzenie zmiennej mouse_x i mouse_y;
if( wcisnieto_b != mouse_b )
{
    wcisnieto_b = mouse_b;
    wcisnieto_x = mouse_x; //wykorzystać, jeśli chce się cofnąć przesuwany obiekt do pozycji startowej
    wcisnieto_y = mouse_y; //wykorzystać, jeśli chce się cofnąć przesuwany obiekt do pozycji startowej
    przesun_x = wcisnieto_x;
    przesun_y = wcisnieto_y;
} //if

if( mouse_x >= ludek2.x && mouse_x <= ludek2.x + 40 && mouse_y >= ludek2.y && mouse_y <= ludek2.y + 40 && mouse_b == 1 ) {
    if( wcisnieto_b == mouse_b )
    {
        ludek2.x += mouse_x - przesun_x;
        ludek2.y += mouse_y - przesun_y;
        przesun_x = mouse_x;
        przesun_y = mouse_y;
       
    } //if
} //if

P-2738
pixelmaster
Temat założony przez niniejszego użytkownika
» 2008-12-14 10:02:05
Dzięki.
Wszystko działa jak powinno :D
P-2740
« 1 »
  Strona 1 z 1