Edytor map - w czym lepiej napisać

0

Cześć,
chciałbym napisać sobie dla próby edytor map i nie wiem czy pisać to tworząc np.: tabelkę czy użyć do tego canvasu?

Pewnie spytacie się co ma być:

  • możliwość ruszania mapą
  • możliwość dodawania elementów na różnych płaszczyznach

to chyba główne opcje.

0

Zainteresuj się OpenLayers. Naprawdę pomocna rzecz jeśli chodzi o mapy :)

0

Mi chodzi o mapy 2d do gier :D

Nie wiem czy lepiej pisać normalnie, czy przy użyciu Canvas z HTML5.

0

Już chyba wiem co użyć. Canvas jest fajny, ale będę miał problem z nadaniem leveli. A chce mieć taką możliwość. Planuję wrzucić tabelkę w diva lub iframe i każde pole tabelki to jedno pole mapy.

Przesuwanie mapy zrobię tak jak, że będę przesuwał całą tabelkę w miejsce np.: -100, -30.

Dobrze myślę?

0

Nie bardzo podoba mi się to rozwiązanie, za mało informacji o grze i samej mapie bo nie wiadomo czy chodzi ci o rzut izometryczny, hexagonalny czy jakieś kafelki i jaka ma być duża sama mapa. Ja zrobiłbym to na canvas. W danym momencie i tak nie ogarniesz całej mapy jeśli ma to być coś a'la gra strategiczna, czyli w jednym momencie masz załadowany tylko wycinek mapy. Twoje rozwiązanie na Tabelce jest hmm brzydkie co najmniej, ukrywanie kawałka tabeli poza ekran spowoduje raczej spadek wydajności.

0

To nie ma być gra, to tylko dla siebie w ramach nauki.

Taki widok:
http://img.brothersoft.com/screenshots/softimage/d/d2d_map_editor-217073-1236310951.jpeg

Ale chcę mieć możliwość tworzenia warstw, co daje mi z-index, a w przypadku canvas tego nie zrobię. Bo jak podmienić jak masz kafelek z drzewem sam kafelek? Muszę podmienić całość wtedy.

To jaka jest inna metoda niż canvas?

Znalazłem kinetic.js i mam jedno pytanie związane z tym jak się do tego zabrać. Jeżeli są ważne dla mnie warstwy, to zrobić sobie tablicę pól dla każdej warstwy czy np.: tablicę obiektów, które przetrzymują informacje o tym co się znajduje na każdej warstwie danego pola?

0

Nie korzystałem z żadnych dodatkowych frameworków do JS wspomagających grafikę 2D, ale sprawa z taką mapą wygląda prosto - jeśli masz kafelki terenu to one zawsze będą na 1 polu, drzewo zajmuje 3, ale jeśli rysujesz np. kafelki to z góry na dół wobec tego wcześniejsza warstwa pod "cieniem" drzewa została już narysowana i trafiając na ten obiekt rysujesz go od dołu do góry (od pnia do korony drzewa), wtedy na mapie wystarczy info, że kafelek drzewa zajmuje 1 pole (miejsce umieszczenia korzeni).
Osobna tablica dla obiektów też nie jest zła wtedy teren rysujesz na początku a później pozostałe obiekty w kolejności od najdalszych po najbliższe, tak aby zachować kolejność perspektywy.
Tutaj jeszcze nasuwa się pytanie czy za każdym razem gdy zmieni się coś na mapie odrysujesz całą mapę czy tylko fragment. 1-wszy przypadek jest prostszy, ale wiadomo mniej wydajny, drugi będzie wymagał odrysowania pozostałych obiektów, które mogą przesłaniać pole które zostało zmodyfikowane. Więcej niż 2 warstwy tutaj raczej nie ma sensu robić no chyba, że masz zamiar na nich umieszczać jakieś dajmy na to miejsca respienia się przeciwników, teleporty czy coś takiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1