[winapi] mapeditor, problem z rysowaniem na przesuniętej mapie
Ostatnio zmodyfikowano 2009-04-27 13:47
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 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. |
|
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; |
|
pixelmaster Temat założony przez niniejszego użytkownika |
» 2009-04-27 13:47:12 Dzięki teraz działa prawidłowo :) |
|
« 1 » |