[Allegro] Obracanie mapy
Ostatnio zmodyfikowano 2009-04-13 21:31
Patzick Temat założony przez niniejszego użytkownika |
[Allegro] Obracanie mapy » 2009-04-11 17:43:15 Mamy mapę kafelkową, ładnie wszystko jest umieszczamy obiekt na środku ekranu nieruchomo i robimy scrolowanie mapy. Co jednak, jeśli chcemy żeby mapa odwracała się zawsze tak, żeby obiekt był zwrócony ciągle w górę? Sprawdza się to w samochodówkach, bo nieporęcznie się jeździ gdy samochód jest skierowany w dół. Macie pomysł jak to zrobić? Fajnie jakby ktoś napisał mini artykuł o tym bo jest to przydatna rzecz :) Czekam na pomysły |
|
pixelmaster |
» 2009-04-11 18:03:12 Może mini mapę dać jako okrąg, i jak jest warunek do skręcania, czyli jak wciśnięty klawisz strzałki w prawo np. to obracać mini mapę o jakiś tam kąt. |
|
DejaVu |
» 2009-04-11 18:24:11 Najprostsza metoda jaka mi przychodzi do głowy to:
1) Tworzymy bufor o wielkości ceil(sqrt(800*800+600*600))=1000px na 1000px 2) Rysujemy na nim elementy mapy (bez obrotu!) 3) Rysujemy na środku bufora samochód (obrócony!) 4) Obracamy cały bufor 1000x1000 tak, aby samochód był zwrócony ku górze i rysujemy go na buforze ekranu tak, aby samochód był na środku. |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2009-04-11 18:51:46 Ciekawe :) spróbuję opracować jakiś przykład na Twoim pomyśle |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2009-04-13 21:10:35 Kurcze, coś nie mogę tego zrobić. Mam już wszystko zrobione poza tym obrotem mapy. Bufora chyba nie można obrócić dlatego mój bufor 640/480 na którym wszystko jest rysowane przerysowuję na drugi bufor 1000/1000. Niby się obraca, ale problem w tym, że przy około 45 stopniach nie rogi zostają odkryte i nie ma w nich nic. wyświetlam to już tak pivot_sprite( bufor2, bufor, 320, 240, 320, 240, itofix(( int ) kierunek - 1 ) ); blit( bufor2, screen, 0, 0, 0, 0, 640, 480 ); Kierunek jeszcze nie jest zbyt dokładne bo chodziło mi żeby się w ogóle odwracało, ale właśnie napotykam ten problem i nie wiem jak go obejść. Czekam na sugestie :) |
|
DejaVu |
» 2009-04-13 21:31:45 Rysować masz na buforze 1000x1000, a później go przenieść (i obrócić) na bufor ekranu 800x600, a później bufor ekranu na ekran. |
|
« 1 » |