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

[winapi] mapeditor, problem z rysowaniem na przesuniętej mapie

Ostatnio zmodyfikowano 2009-04-27 13:47
Autor Wiadomość
pixelmaster
Temat założony przez niniejszego użytkownika
[winapi] mapeditor, problem z rysowaniem na przesuniętej mapie
» 2009-04-26 21:09:38
Siema.
Robię sobie edytor mapek wg tego arta http://www.gamedev.pl/articles.php?x=view&id=220 i mam przesuwanie mapy
C/C++
case WM_KEYDOWN: {
    if( wParam == VK_DOWN && GdzieY <= 1468 ) {
        GdzieY = GdzieY + 32;
    }
    if( wParam == VK_UP && GdzieY >= 32 ) {
        GdzieY = GdzieY - 32;
    }
    if( wParam == VK_RIGHT && GdzieX <= 1468 ) {
        GdzieX = GdzieX + 32;
    }
    if( wParam == VK_LEFT && GdzieX >= 32 ) {
        GdzieX = GdzieX - 32;
    }
    InvalidateRect( hwnd, NULL, TRUE );
}
break;
 potem uwzględniłem to w funkcji rysującej
BitBlt( hdc, i * 32 - GdzieX, ii * 32 - GdzieY, 32, 32, hdcMem, t * 32, 0, SRCCOPY );
 no i uwzględniłem to LBUTTONDOWN
Mapa[ x / 32 -( GdzieX / 32 ) ][ y / 32 -( GdzieY / 32 ) ] = JakiElement;
 ale elementy mapy rysują się i tak tam gdzie były na początku, czyli nie biorą pod uwagi tego, że mapa była przesunięta :(
Kombinowałem ze zamienianiem X z Y, dzieleniem itp, ale ciągle po przewinięciu mapy nie rysuje poprawnie.
Proszę o pomoc jak to zrobić, aby działało poprawinie.
P-6062
DejaVu
» 2009-04-26 22:58:03
Jeśli x i y to pozycja myszy, a GdzieX i GdzieY to przesunięcie mapy to:
Mapa[ x / 32 +( GdzieX / 32 ) ][ y / 32 +( GdzieY / 32 ) ] = JakiElement;
P-6067
pixelmaster
Temat założony przez niniejszego użytkownika
» 2009-04-27 13:47:12
Dzięki teraz działa prawidłowo :)
P-6070
« 1 »
  Strona 1 z 1