![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałbym zrobić aby w grze rpg, którą piszę, była możliwość podglądu gdzie znajdują się poszczególni gracze. Ich pozycję chciałbym przetrzymywać w bazie jako np. 1,123,234 gdzie "1" jest lokacją a 123x234 aktualnymi współrzędnymi. No własnie, jak to wykonać ? Jak sprawić aby umieścić możliwość poruszania się po obrazu za pomocą współrzędnych, jak zaznaczyć kropkę oznaczającą gracza na tej mapie (obrazku) i jak np. podświetlić na pozycję danego gracza najeżdżając na niego w panelu bocznym z wypisanymi wszystkimi graczami ? Jak zaznaczyć na tej mapce miejsca jak sklepy itp. gdzie użytkownik będących w danych współrzędnych będzie mógł coś kupić? Potrzeba będzie do tego biblioteka GD czy może da się to wykonać w inny sposób ? Wiem, że dużo pytań ale mam nadzieję, że otrzymam jakieś wskazówki ![]() Ten post edytował GreenGo 22.05.2010, 23:15:57 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
GD, Canvas albo zwykłe divy z position: relative. ja bym wybrał Canvas.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Do canvas, z tego co widzę, jest bardzo mało poradników / tutków itp. :/ Nie dało by się tego zrobić za pomocą zwykłego <map> ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 31 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrzucam Ci książkę o tworzeniu gier internetowych
![]() Jak znasz chodź trochę angielskiego to Ci pomoże, ja ją czytam w wolnych chwilach. Tam jest na przykładzie szachów to opisane. http://test.motyl-pl.info >> PHP Game Programming -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki choć nie wiem czy mój angielski jest taki dobry aby czytać książkę w tym języku. Bawiłem się teraz w canvas`ie. Bardzo fajna opcja ale niestety nie ma możliwości zaprogramowania zdarzenia po najechaniu myszką na jakiś element oraz nie ma wsparcia ze strony IE :/
W takim razie czego najlepiej użyć do nakładania pozycji użytkowników na mapę (jpg), możliwość np, wyświetlenia informacji o uzytkowniku po najechaniu na niego na mapie oraz aby cały czas gdzieś obok wyświetlały się współrzędne myszki na mapie aby użytkownik wiedział gdzie iść ? Ten post edytował GreenGo 23.05.2010, 19:30:09 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
z góry mówię, że nie mam doświadczenia z projektowaniem gier, ale może by to po prostu zrobić na divach np taka wyświetlona mapka to było by 100x100 małych divów i w każdym był by wyświetlony obrazek w zależności od tego co ma tam być: trawa, drzewo, domek, postać , te elementy czyli mapa była by zapisana w wielowymiarowej tablicy i przelatując pętlą po tablicy wyświetlasz mapę, przy takim rozwiązaniu bez problemu zrobisz tak, że po najechaniu na gracza czy na domek wyświetli się chmurka z opisem
Ten post edytował tehaha 23.05.2010, 19:34:53 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
W jakimś projekcie widziałem:
A potem w kodzie:
Wyglądało to coś a'la Plemiona. Szczegółów nie znam... -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
może nie w temacie, ale mam pytanie
jak zrobić taką mapke jaka jest np. na www.plemiona.pl? -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
z góry mówię, że nie mam doświadczenia z projektowaniem gier, ale może by to po prostu zrobić na divach np taka wyświetlona mapka to było by 100x100 małych divów i w każdym był by wyświetlony obrazek w zależności od tego co ma tam być: trawa, drzewo, domek, postać , te elementy czyli mapa była by zapisana w wielowymiarowej tablicy i przelatując pętlą po tablicy wyświetlasz mapę, przy takim rozwiązaniu bez problemu zrobisz tak, że po najechaniu na gracza czy na domek wyświetli się chmurka z opisem No potestowalem teraz takie rozwiązanie ale jest mały problem. Mapka będzie miała ok 700x700. Zakładając, że 1 div ma 5x5 to muszę w pętlach wygenerować ponad 19000 div`ów co dość zamula przeglądarkę :/ Kshyhoo - tego chyba nie uda mi się zrozumieć ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czy po nałożeniu 19.000 divów 5x5 na mapkę 700x700 cokolwiek jeszcze widać
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście
![]() Ten post edytował GreenGo 23.05.2010, 21:34:35 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
ja myślałem, że Tobie chodzi o rozdzielczość w takiej jak użytkownik sobie gra, bo wtedy to jeden div zapewne nie miałby mniej niż 15px i wtedy miałbyś już tylko 2k divów, ale jeżeli to ma być tylko mapka to wtedy zrób zwykły obrazek i na nim przy pomocy współrzędnych nanieś kropeczki
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli ma ich być tak dużo, to moim zdaniem tylko GD plus cron, choć utracisz stuprocentowy czas rzeczywisty.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
A znasz może jakiś poradnik do GD w którym było by coś podobnego zaprezentowane ? Nigdy nie miałem do czynienia z tą biblioteką więc moje zmagania mogły by potrwać dość duży okres czasu.
cron raczej odpada bo nie jest mi w sumie potrzebny i póki co jestem na localhoście na windowsie ![]() Czas rzeczywisty nie jest mi chyba potrzebny. Skrypt przy odświeżeniu strony ma pobierać wszystkie pozycje użytkowników z bazy i generując te divy, porozmieszczać ich. ew. jedno pole zwiększę do 10x10 co da mi niespełna 5000 div`ów a to już się w miarę szybko generuję, choć nie wiem czy przy wielu użytkownikach serwer by wytrzymał. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
jeżeli jesteś w stanie ustalić współrzędne usera to nie musisz generować tych pustych divów, tylko wygeneruj wyłącznie te z userami, dla każdego divu reprezentującego usera ustawisz position:absolute względem divu-rodzica czyli konteneru mapki i na podstawie tych współrzędnych obliczysz atrybuty left i top,
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cron MUSI być, bo biblioteka GD jest dość powolna i nie wyobrażam sobie co by się stało gdybyś każdemu użytkownikowi generował w locie obrazek 700x700. Co do poradników, to tutaj na php.pl jest artykuł o GD, a poza tym Google: GD tutorial.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
chodzi mi o to, że możesz dać tło tego dużego diva obrazek mapki i tam powstawiać tylko divy reprezentujące użytkowników o tak:
przy czym dla każdego diva obliczysz sobie left i top na podstawie współrzędnych jego pozycji, rozwiązanie na pewno było by efektywne |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 265 Pomógł: 4 Dołączył: 30.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
tehaha - eh, razja nie pomyślałem
![]() ![]() croc - no to chyba póki co GD odpada. Spróbuje to z position:absolute a jeśli nie wypali to będe myślał dalej ![]() Wielkie dzięki panowie za rady ![]() |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Z tymi divami to nie jest kwestia obciążania serwera tylko klienta
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 11:45 |