[HTML5] "Rozbicie" kodu na pliki, wielkość canvasu a ekran


#1

Witam,

mam dwa pytania odnośnie HTML5:

W jaki sposób "rozbić" kod napisany w javascript na kilka plików, tak aby funkcje z każdego pliku mogły ze sobą współdziałać jakby były w jednym pliku .js?

Jak dopasować canvas do ekranu użytkownika tak aby niezależnie od rozdzielczości można było zobaczyć całą zawartość?


(Pablo_Wawa) #2

Możesz dowolnie podzielić sobie kod na wiele plików i będą działały praktycznie tak jak by były w jednym - jest to bardzo praktyczne i często stosowane.

Elementowi canvas musisz i tak nadać jakiś rozmiar (czy to w HTML, czy poprzez JavaScript), więc odczytujesz bieżącą rozdzielczość ekranu (a raczej okna przeglądarki), np. tak http://stackoverflow.com/questions/1145850/get-height-of-entire-document-with-javascript i ustawiasz mu stosowne wartości. I potem jeszcze śledzisz zdarzenie onresize (http://stackoverflow.com/questions/1500312/dom-onresize-event) i modyfikujesz wielkość canvas.


#3

Chodzi ci o coś takiego? W pliku HTML w body:

Ostatnie pytanie mam: czy ma znaczenie czy taki kod jak wyżej podałem w HTML'u wstawię w pole body czy w pole head?

-- Dodane 04.03.2013 (Pn) 17:50 --

Bardziej chodziło mi o rozciągnięcie (o ile w ogóle się da) żeby zawsze była równa rozdzielczość w grze i żeby nie musieć bawić się w przekształcanie wszystkich wartości.


(Pablo_Wawa) #4

Dokładnie. Z tym, że ja bym dodawał type="text/javascript" do tego kodu. Czyli

Zmieniając rozmiar elementu canvas wszystko się przeskaluje. Rozmiary sam sobie ustalasz. Wydaje mi się, że po narysowaniu rysunku i zmianie rozmiarów elementu canvas, zostanie on automatycznie przeskalowany.