Profesjonalne tworzenie gier internetowych dla systemu Android w jezykach HTML5 CSS3 i JavaScript.pdf

(730 KB) Pobierz
Tytuł oryginału: Pro Android Web Game Apps: Using HTML5, CSS3 and JavaScript
Tłumaczenie: Krzysztof Rychlicki-Kicior
ISBN: 978-83-246-7401-5
Original edition copyright © 2012 by Juriy Bura and Paul Coates.
All rights reserved.
Polish edition copyright © 2013 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani
za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/prtwgi
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/prtwgi.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorach ..................................................................................................13
PodziÚkowania ...........................................................................................15
Wprowadzenie ...........................................................................................17
CzÚ Ê I
Rozdziaï 1.
¥wiaty dwuwymiarowe
Zaczynamy ..................................................................................................23
Narzędzia ................................................................................................................................ 24
Co jest nam potrzebne? .................................................................................................. 24
Java Development Kit .................................................................................................... 27
Zintegrowane środowisko programistyczne ............................................................... 27
Serwer stron internetowych (WWW) ......................................................................... 33
SDK systemu Android i emulator ................................................................................ 34
Techniki .................................................................................................................................. 38
Kod .................................................................................................................................... 38
Programowanie zorientowane obiektowo .................................................................. 43
Słowo o przeglądarkach mobilnych ............................................................................. 51
Podsumowanie ....................................................................................................................... 51
Rozdziaï 2.
Grafika w przeglÈdarce — pïótno ..............................................................53
Gry od podszewki .................................................................................................................. 53
Rysowanie wewnątrz przeglądarki ...................................................................................... 55
Podstawowe ustawienia strony HTML ............................................................................... 55
Czym jest płótno? .................................................................................................................. 56
Kontekst ........................................................................................................................... 57
Układ współrzędnych ..................................................................................................... 58
Kup książkę
Poleć książkę
SPIS TRE¥CI
Rysowanie kształtów ............................................................................................................. 61
Prostokąty ........................................................................................................................ 62
Ścieżki ............................................................................................................................... 63
Podścieżki ........................................................................................................................ 71
Kontury i wypełnienia ........................................................................................................... 72
Kolory jednolite ............................................................................................................... 73
Gradienty ......................................................................................................................... 73
Wzorce .............................................................................................................................. 77
Stan kontekstu a przekształcenia ......................................................................................... 79
Przesunięcie ..................................................................................................................... 80
Skalowanie ....................................................................................................................... 81
Obrót ................................................................................................................................. 82
Grupowanie transformacji ............................................................................................ 82
Stan kontekstu ................................................................................................................. 84
Przekształcenia kontekstu w praktyce ......................................................................... 85
Widok przykładowego projektu — efekt końcowy .......................................................... 86
Podsumowanie ....................................................................................................................... 89
Rozdziaï 3.
Tworzymy pierwszÈ grÚ! ............................................................................91
Szkielet gry HTML5 .............................................................................................................. 92
Podstawowy szkielet ....................................................................................................... 92
Wymuszanie orientacji .................................................................................................. 96
Architektura gry ..................................................................................................................... 98
Tworzymy grę ......................................................................................................................... 99
Renderowanie planszy ................................................................................................. 100
Stan i logika gry ............................................................................................................. 105
Scalanie komponentów — klasa Game ..................................................................... 110
Dodanie gry do szkieletu HTML ................................................................................ 113
Podsumowanie ..................................................................................................................... 115
Rozdziaï 4.
Animacje i sprite’y ....................................................................................117
Sprite’y ................................................................................................................................... 118
Wczytywanie obrazków ............................................................................................... 119
Rysowanie obrazka ....................................................................................................... 129
Arkusze sprite’ów ......................................................................................................... 133
Podstawy animacji ............................................................................................................... 136
Najprostsza animacja ................................................................................................... 136
Wątki a JavaScript ......................................................................................................... 137
Timery ............................................................................................................................ 138
Poprawianie jakości animacji ...................................................................................... 141
Podsumowanie ..................................................................................................................... 153
Rozdziaï 5.
Obsïuga zdarzeñ i zachowañ u ytkownika ...............................................155
Zdarzenia w przeglądarce ................................................................................................... 156
Przeglądarka stacjonarna a wejście przeglądarki systemu Android ...................... 156
Stosowanie zdarzeń do przechwytywania wejścia użytkownika ............................ 157
6
Kup książkę
Poleć książkę
SPIS TRE¥CI
Co jeszcze kryje się za zdarzeniami? .......................................................................... 160
Sposób obsługi różnic pomiędzy interfejsami dotykowymi a myszą .......................... 162
Własne zdarzenia ................................................................................................................. 165
Generatory i funkcje nasłuchujące własnych zdarzeń .................................................... 166
EventEmitter — klasa bazowa .................................................................................... 166
Zdarzenia a wywołania zwrotne ................................................................................. 169
Własne zdarzenia ................................................................................................................. 170
Implementacja klasy InputHandlerBase ................................................................... 173
Tworzymy klasę MouseInputHandler ....................................................................... 176
Tworzymy klasę TouchInputHandler ....................................................................... 178
Zaawansowane operacje wejściowe ................................................................................... 179
Przeciągnij i upuść ........................................................................................................ 179
Doskonałe wybieranie a maski obrazków ................................................................. 181
Złożone operacje ........................................................................................................... 182
Symulowanie dżojstika ........................................................................................................ 185
Podsumowanie ..................................................................................................................... 188
Rozdziaï 6.
Renderowanie wirtualnych wiatów ........................................................189
Mapy z kafelków .................................................................................................................. 189
Zasada działania map kafelkowych ............................................................................ 190
Implementacja mapy kafelków ................................................................................... 191
Mierzymy FPS ............................................................................................................... 196
Optymalizacja wydajności renderowania ........................................................................ 198
Rysuj tylko to, co potrzebne ........................................................................................ 198
Bufor pozaekranowy .................................................................................................... 200
Przechowywanie okolic obszaru widoku w pamięci ............................................... 203
Obiekty świata gry ............................................................................................................... 206
Układy współrzędnych ................................................................................................. 206
Implementacja klasy WorldObjectRenderer ............................................................ 208
Porządek sortowania .................................................................................................... 211
Optymalizacje ................................................................................................................ 213
Widok izometryczny ........................................................................................................... 214
Podsumowanie ..................................................................................................................... 217
Rozdziaï 7.
Tworzymy silnik izometryczny ..................................................................219
Konfiguracja ......................................................................................................................... 220
Plan ................................................................................................................................. 221
Przygotowanie przestrzeni roboczej .......................................................................... 222
Podstawowy kod ........................................................................................................... 222
Przydatne mechanizmy ................................................................................................ 225
Teren izometryczny ............................................................................................................. 231
Układy współrzędnych ................................................................................................. 231
Renderowanie kafelków ............................................................................................... 232
Implementowanie klasy IsometricTileLayer ............................................................ 237
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin