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

Tworzenie 'fog of war'

Ostatnio zmodyfikowano 2012-10-30 20:45
Autor Wiadomość
Kmicic
Temat założony przez niniejszego użytkownika
Tworzenie 'fog of war'
» 2012-10-30 13:10:12
Jeśli chciał bym zrobić system widoczności na mapie kafelkowej tym sposobem

0000000
0001000
0011100
011P110
0011100
0001000
0000000

To w jaki sposób wyświetlano by bitmapy ? Należało by ustawić czarne bitmapy wielkości kafli, i potem je ukrywać jeśli warunek będzie prawdziwy ?
P-67972
DejaVu
» 2012-10-30 13:14:07
Utwórz dwie tablice - jedna zawierająca mapę, a druga informację gdzie nie ma być mgły. Drugą tablicę zawsze czyścisz, a następnie modyfikujesz na podstawie obiektów znajdujących się na scenie. Dopiero potem rysujesz mgłę/mapę w zależności od stanu tych dwóch tablic.
P-67973
Kmicic
Temat założony przez niniejszego użytkownika
» 2012-10-30 13:16:43
Te kwestię rozwiąże, chodzi mi bardziej o problem graficzny. Gra ma możliwość stawania na granicy 2 kafli, wiec mam problem z graficznym wyświetlaniem tego.
P-67974
DejaVu
» 2012-10-30 13:17:41
Niestety nie za bardzo rozumiem co masz na myśli :)
P-67975
Kmicic
Temat założony przez niniejszego użytkownika
» 2012-10-30 13:26:10
Rozrysowałem to tak, kafle są równej wielkości. Obrazek II prezentuję gracza -czerwony kwadrat, który jest ustawiony na równi z kaflem. Kafle naokoło są więc odkrywane (bitmapa z czarnym kwadratem staje się niewidoczna i odsłania warstwę pod spodem). Obrazek I prezentuję sytuację gdy gracz stoi na granicy kilku kafli. Nie mogę jednak odkryć kawałka kafla gdyż muszę odkrywać całość. Jedynym rozwiązaniem było by podzielenie bitmapy z kaflami na mniejsze kaflę co zwiększyło by szczegółowość.

http://screenshooter.net/9624324/htcuehn
P-67976
DejaVu
» 2012-10-30 13:28:29
Nie musisz dzielić mapy na mniejsze kafle - wystarczy, że zwiększysz gęstość tablicy przechowującej informacje 'gdzie jest mgła, a gdzie jej nie ma' :)

/edit:
Innymi słowy, zmniejszasz 'kwadraciki' zasłaniające mapę, a nie te, które rysują mapę.

/edit2:
Wówczas na jeden kafel mapy będzie przypadało np. 16 kafli mgły, a więc uzyskasz w miarę gładkie krawędzie mgły.
P-67977
Kmicic
Temat założony przez niniejszego użytkownika
» 2012-10-30 13:35:13
Czyli do każdego kafla przypisać 16 (umownie) czarnych kafli. A czy to nie będzie bardzo spowalniać pracy programu ?
Wiele gier ma dosyć obszerne mapki, i takie ładowanie kilku tysięcy bitmap + parę innych może okazać się kłopotliwe.
P-67978
DejaVu
» 2012-10-30 14:00:08
Czemu chcesz ładować kilka tysięcy bitmap? Przecież bitmapę wystarczy raz wczytać i milion razy wykorzystać jak jest taka potrzeba. Poza tym... martwisz się o wydajność na zapas. Najpierw zrób coś, przetestuj, a potem jak będą zastrzeżenia to optymalizuj. Tak na dobrą sprawę szczegółową mgłę można generować tylko i wyłącznie dla obszaru widocznego w danej chwili, a nie dla całej mapy. Mgła dla całej mapy jest potrzebna tylko na minimapie, a ta z kolei nie wymaga ani dużej szczegółowości, ani częstego odświeżania :)
P-67981
« 1 » 2
  Strona 1 z 2 Następna strona