![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tworzę grę logiczno-przygodową tylko w XHTML, CSS i JavaScript. Po uruchomieniu gry wyświetli się ekran główny z wyborem poziomu i opcjami (wygląd, język, muzyka OGG). Ewentualnie informacja o potrzebie aktualizacji przeglądarki.
1) Na początku trzeba załadować główny plik językowy i pobrać menu. Przejdźmy do procesu ładowania poziomu. 2) Kod XHTML - tutaj raczej AJAX i wstawienie kodu do odpowiedniego obiektu <div> 3) Kod JS - informacje o pokojach, przedmiotach, funkcje, zmienne - dla ładowanego poziomu... 4) Plik językowy dla ładowanego poziomu. Do końca nie zdecydowałem, czy będzie podział na poziomy, czy nie. W każdym razie 1) i 3) trzeba załadować dynamicznie. Sposób 1. DOM Tutaj wystarczy stworzyć za pomocą DOM obiekt <script> i dopiąć atrybut SRC. Problemy mogą być w IE, ale zawsze można sprawdzić, czy istnieją obiekty, które trzeba pobrać. JSON + eval Pliki pobieramy za pomocą AJAX, a potem zawartość wsadzamy do eval(). Panuje opinia, że eval() spowalnia skrypt. Którym sposobem najlepiej ładować skrypty JS do tych celów? Ważne, by nie pojawiły się problemy nawet na IE 6. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Natywny parser w Firefoksie 3.5 JSON.parse() ogranicza mnie. Nie można wplątać funkcji:
Kod { dosomething: function(z, c, b) { alert(c) } } Raczej nie napiszę logiki etapu tylko za pomocą zmiennych (czyt. własności obiektu), choć jest to możliwe. Musiałbym rozbudować silnik gry, aby obsłużyć wszystkie możliwe zdarzenia, np. użycie przedmiotów na określonych rzeczach, zmianę stanu urządzeń, tekst w zależności od tego, czy płyta / dyskietka jest włożona, czy prąd włączony... Czy jest sens aż tak kombinować? Raczej NIE. Mam zamiar udostępnić grę do pobrania, więc pewnie pojawią się mirrory w sieci. Gdybym nawet użył JSON.parse(), wciąż pojawia się zagrożenie, że ktoś zmodyfikuje inną partię skryptu, aby wyciągnąć cookies lub przeprowadzić CSRF. Poszukam jeszcze benchmarków i zdecyduję, co wykorzystać. AJAX i tak będzie potrzebny, by pobrać XHTML. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
na upartego nie musisz używać AJAX'a do pobrania JSON (IMG:style_emoticons/default/winksmiley.jpg) :
Howto Dynamically Insert Javascript And CSS - wystarczy podpiąć zdarzenie onload i odpalić odpowiednią funkcję na JSON... wcześniej gdy pisali by nie używać eval to właśnie mieli na myśli o tych załączanych funkcjach jako metody (IMG:style_emoticons/default/winksmiley.jpg) Poszukam jeszcze benchmarków i zdecyduję, co wykorzystać. AJAX i tak będzie potrzebny, by pobrać XHTML. no i tu znowu na upartego mając odpowiednią strukturę JSON mógłbyś na jego podstawie budować xhtml'a więc i ajax też nie jest przymusem ;p |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 14:38 |