![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 4 Dołączył: 16.02.2007 Skąd: Leszno Ostrzeżenie: (20%) ![]() ![]() |
Witam,
ostatnio mnie zaciekawiło jak zrobić mapkę na styl tej która jest w grze plemiona. Wpadłem na pomysł. Użyć w HTMLu <MAP>, ale w map area wyświetla tylko odnośnik. I mam pytanie jak zrobić żeby był wyświetlany obrazek np budynku. mapa ma np rozmiary 500x500, jeden budynek to np 50x50. mapa podzielona jest na 10 pól w pionie i poziomie: ![]() Czyli jeśli user ma budynek na pozycji 4:3 to powinien pojawić się budynek ![]() 1 kratka to 50x50px. Mam coś takiego:
I jak zrobić żeby wyświetlało budynek a nie odnośnik? Może macie inne pomysły jak to wykonać? -------------------- "This isn't Miami..., This isn't Music! This is power!!"
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czy mapa jest tu konieczna? Nie wystarczy 100 div'ów, bądź tabelka? Ostylować tabelę, lub divy chyba będziesz potrafił...
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
dajesz ziemie mapy jako tło diva + tablica 2 wymiarowa z położeniem miast + zakładasz co ile px ma być nowe pole
gdy ładujesz mapę dajesz 2 zmienne x,y z początkowym położeniem planszy (widocznym) i sprawdzasz co z tablicy jest w przedziale +-5-10 pól czyli w widocznym polu, potem tylko wstawiasz tam img , przesuwanie mapy robisz skokowe co x pól aby łatwo było wyliczać. @Vokiel -> a przewijanie mapki? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jakiś adres musi być (podgląd wioski, czy jakieś opcje szpiegowania czy cuś ![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
O ile dobrze rozumiem mamy 100 pól, które są niepodzielne.
Zatem tworzenie tej mapki może odbywać się w obojętnie jaki sposób, czy to będą mapy, divy, tabele, czy canvas. Przesuwanie mapy skutkuje "przeliczeniem" pozycji elementów. W przypadku przesuwania w jedną stronę elementy przesuwane są po jednej osi i przy jednostkowym przesunięciu (o pole) ukrywamy 10 kwadracików, a pokazujemy 10 nowych. Jeśli cały obszar ma być dużo większy, a widoczny jest tylko jego wycinek. To można nawet utworzyć mapkę dla całego obszaru, następnie doczytywać aktywne elementy. Złączyć to z scroll-to, dynamicznym pobieraniem elementów widocznych na danym ekranie, to nawet będzie ładnie i szybko działać ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 4 Dołączył: 16.02.2007 Skąd: Leszno Ostrzeżenie: (20%) ![]() ![]() |
Jakiś adres musi być (podgląd wioski, czy jakieś opcje szpiegowania czy cuś ![]() hmm... no właśnie że ze stylami to nie działa. tylko inline czy jakoś tak. hmm... z tymi divami i tabelami nie jest zły pomysł. Mapa będzie miała ~9000x9000px, a wyświetlane będzie tylko 10x10kratek Ten post edytował MnicH. 19.10.2009, 18:37:35 -------------------- "This isn't Miami..., This isn't Music! This is power!!"
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jest to zrobione identycznie jak w google maps. Masz kwadraty o odpowiedniej wielkości ułożone obok siebie przesuwanie to tylko zwracanie do serwera pozycji środka, która to sprawdza jakie "kwadraty" są widoczne i w razie czego dosyła kolejne bądź aktualizuje ich wygląd jeśli zaszły zmiany. Szczerze mówiąc budynk czy cokolwiek może być jak marker, czyli ma wyświetlanie na dowolnej współrzędnej. Zapewne jednak nawet to jest uproszczone w dużym stopniu. Pewnie masz duży świat i każdy kwadrat jest numerowany, a funkcja wstawia akurat te widoczne. Do tego jeśli na jakimś znajduje się budynek czy cokolwiek, to owo pole zostaje ujęte jako klikalny link.A że te są jako inline to nie robi to żadnej różnicy. To po prostu w takim wypadku dużo znaczników img z padding 0, margin 0, float left i paroma innymi wpisami w css, a gdzieniegdzie img jest objęte przez A, co ostatecznie tworzy zgrabną mapkę z klikalnymi linkami. Można więc ująć, że jest to:
Jako że budynki są zawsze w tym samym miejscu to nawet nie trzeba przezroczystego img na innego nakładać. Wystarczy tam gotowca wstawć, bo zgra się z resztą. reszta to tylko ostylowanie. ważne by całość została tak dobrana, by div zawierający fragmenty miał odpowiednią szerokość, która pozwala na swobodne przepłynięcie elementów img wewnątrz i wtedy nie trzeba się o nic martwić. samo się stawi wszystko. Ten post edytował thek 19.10.2009, 19:22:41 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 02:51 |