Visual Basic i DirectX. Programowanie gier w Windows - Helion
Tytuł oryginału: Window Game Programming with Visual Basic and DirectX
Tłumaczenie: Jarosław Dobrzański
ISBN: 83-7197-806-5
stron: 416, Format: B5, okładka: miękka
Data wydania: 2002-10-22
Księgarnia: Helion
Cena książki: 52,00 zł
Książka opisuje krok po kroku tworzenie gry symulacyjnej rozgrywającej się w czasie rzeczywistym, podobnej do słynnej gry SimCity. Gra wykorzystuje Direct3D do wyświetlania grafiki trójwymiarowej oraz DirectInput do komunikacji z użytkownikiem. Opisane zostały interfejsy DirectSound i DirectMusic w stopniu umożliwiającym użycie efektów dźwiękowych i muzyki w grze. Nauczysz się więc tworzenia w pełni trójwymiarowej grafiki a także odtwarzania plików dźwiękowych w formacie MP3. Książka przeznaczona jest dla osób, które już programowały w Visual Basicu.
W książce opisano:
- Wyświetlanie grafiki 3D za pomocą Direct3D
- Sterowanie obrazem: obracanie, przybliżanie i przewijanie
- Tworzenie animowanych postaci
- Operowanie czasem w symulacjach
- Odtwarzanie muzyki i efektów dźwiękowych przy użyciu DirectAudio
- Interakcje użytkownik -- program za pomocą DirectInput
- Syntezę mowy przy użyciu interfejsu Microsoft Speech API
- Przygotowywanie grafiki 2D i 3D oraz plików dźwiękowych na potrzeby gry
Osoby które kupowały "Visual Basic i DirectX. Programowanie gier w Windows", wybierały także:
- Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11 129,00 zł, (96,75 zł -25%)
- Mastering Game Design with Unity 2021 88,94 zł, (76,49 zł -14%)
- Game Development with Unreal Engine 5 84,28 zł, (80,91 zł -4%)
- Learn Python Game Development with ChatGPT 84,99 zł
- Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11 129,00 zł
Spis treści
Visual Basic i DirectX. Programowanie gier w Windows -- spis treści
O Autorze (13)
Wstęp (15)
- Tworzenie gry komputerowej (16)
- Rodzaje gier (16)
- Visual Basic (17)
- DirectX (18)
- Gra "Podwodne zakupy" (18)
- Wyzwanie dla czytelnika (19)
- Dla kogo jest ta książka (19)
- Wymagania sprzętowe (20)
- Co zawiera książka (21)
- Czego książka nie zawiera (21)
- Konwencje stosowane w książce (22)
- Pytania i komentarze (22)
- Pozostałe zasoby (23)
Część I Zanurzenie się w grę (25)
Rozdział 1. Od pomysłu do gry (27)
- Projektowanie gry (27)
- Projekt gry "Podwodne zakupy" (28)
- Idea (28)
- Fabuła (29)
- Możliwości gry (30)
- Obiekty w grze (30)
- Interakcja z użytkownikiem (31)
- Aspekty kontrolowane przez symulację (33)
- Zmienne w grze (34)
- Tajne kody (34)
- Niespodzianki (35)
- Podsumowanie (35)
Rozdział 2. Wprowadzenie do DirectX (37)
- Czym jest DirectX? (38)
- Dlaczego DirectX? (38)
- Usługi DirectX (39)
- Grafika 3D (40)
- Układ współrzędnych dwuwymiarowych (40)
- Układ współrzędnych trójwymiarowych (41)
- Świat zbudowany z trójkątów (42)
- Kreślenie wielu trójkątów (43)
- Kolory (44)
- Oświetlenie i punkty widzenia (44)
- Jestem sobie czajniczkiem (45)
- Instalacja DirectX (46)
- Uruchamianie programu (47)
- Inicjalizacja obiektów DirectX (48)
- Inicjalizacja Direct3D (51)
- Ustawianie świateł (54)
- Tworzenie obiektu 3D (56)
- Wyświetlanie grafiki (56)
- Renderowanie pojedynczego kadru (57)
- Podsumowanie (59)
Rozdział 3. Tworzenie grafiki 3D (61)
- Wprowadzenie do programu trueSpace (61)
- Wprowadzenie do programów Photoshop i Illustrator (62)
- Tworzenie grafiki 3D (63)
- Podstawowe pojęcia (63)
- Korzystanie z trueSpace (64)
- Narzędzia trueSpace (65)
- Tworzenie centrum handlowego (66)
- Projektowanie wnętrza (66)
- Konstruowanie pustego wnętrza (67)
- Podsumowanie (80)
Rozdział 4. Grafika dwuwymiarowa w świecie 3D (81)
- Tworzenie grafiki dwuwymiarowej (81)
- Przetwarzanie obrazu w Photoshopie (82)
- Wprowadzenie do Photoshopa (82)
- Edycja obrazów (84)
- Korzystanie z warstw (86)
- Wycinanie fragmentów obrazu (88)
- Filtry i pozostałe funkcje (89)
- Tworzenie sklepu (90)
- Tworzenie prostej tekstury w Photoshopie (91)
- Tworzenie złożonej tekstury w Photoshopie (93)
- Tworzenie pustego sklepu w trueSpace (95)
- Podsumowanie (98)
Rozdział 5. Wczytywanie danych gry (99)
- Szczegóły projektowe (99)
- Dane na dysku (99)
- Format pliku inicjalizacyjnego (101)
- Dane w pamięci (103)
- Wczytywanie zapisanej gry (103)
- Klasa Game (103)
- Korzystanie z klasy Game (104)
- Zmienne na poziomie modułu w klasie Game (105)
- Metoda LoadGame (106)
- Czerpanie danych z pliku z zapisaną grą (107)
- Odczyt danych za pomocą klasy SwimFile (110)
- Wczytywanie informacji o centrum handlowym i sklepach (112)
- Tworzenie sklepów i pozostałych elementów centrum handlowego (113)
- Właściwości supermarketu (117)
- Zarządzanie kolekcjami obiektów Anchors (117)
- Podsumowanie (119)
Rozdział 6. Wyświetlanie grafiki 3D (121)
- Inicjalizacja grafiki (121)
- Ładowanie centrum handlowego (122)
- Inicjalizacja DirectX (123)
- Ładowanie obiektu 3D do pamięci (125)
- Wyświetlanie informacji graficznych (127)
- Renderowanie centrum handlowego (128)
- Główna pętla programu (128)
- Renderowanie grafiki Direct3D (129)
- Wyświetlanie tekstu na ekranie (134)
- Wybieranie obiektów za pomocą klasy DXGraphics (136)
- Wykrywanie kliknięcia (136)
- Szukanie wybranego obiektu 3D (137)
- Sprawdzanie pojedynczego obiektu (137)
- Uruchamianie programu (139)
- Podsumowanie (140)
Część II Symulowanie rzeczywistości (141)
Rozdział 7. Liczby losowe nie są losowe (143)
- Definicja liczby losowej (143)
- Liczby losowe w komputerach (144)
- Generowanie liczb losowych (145)
- Liczby losowe a Visual Basic (147)
- Randomize i Rnd (147)
- Generowanie liczb losowych za pomocą Rnd (147)
- Rzut kośćmi (149)
- Zakresy liczb losowych (151)
- Skalowanie wartości losowych ciągłych (152)
- Generowanie wartości losowych skokowych (153)
- Rozkład wartości losowych (153)
- Rozkład równomierny (153)
- Rozkład nierównomierny (154)
- Generowanie skokowych wartości losowych o rozkładzie nierównomiernym (154)
- Generowanie ciągłych wartości losowych o rozkładzie nierównomiernym (156)
- Generowanie nierównomiernie rozłożonych liczb losowych (157)
- Podsumowanie (159)
Rozdział 8. Symulowanie rzeczywistości (161)
- Komputerowe symulacje (161)
- Symulacje i modele (162)
- Typy symulacji (162)
- Elementy modelu symulacyjnego (163)
- Klienci, serwery, kolejki (163)
- Czas oczekiwania i obsługi (164)
- Częstotliwość odwiedzin (164)
- Systemy wielu serwerów i kolejek (165)
- Złożone symulacje (165)
- Inne warianty kolejek (166)
- Zegar symulacji (167)
- Zegar postępujący (167)
- Zegar wyzwalany zdarzeniami (168)
- Statystyki symulacji (169)
- Programowanie symulacji (169)
- Generatory liczb losowych (170)
- Kolejki (170)
- Klienci jako obiekty person (172)
- Restauracja Kelp-Fil-A jako obiekt store (172)
- Uruchamianie symulacji (173)
- Inicjalizacja symulacji (173)
- Sekunda w symulacji (175)
- Tworzenie klienta (176)
- Odświeżanie głównego zegara (177)
- Wyświetlanie statystyk (177)
- Uruchomienie symulacji taktowanej zegarem (178)
- Podsumowanie (179)
Rozdział 9. Symulacja centrum handlowego (181)
- Istota symulacji (181)
- Budowanie szkieletu symulacji (182)
- Uruchamianie symulacji (182)
- Kroki symulacji (183)
- Kroki w centrum handlowym (185)
- Sterowanie prędkością symulacji (187)
- Osiedla i konkurencja (188)
- Budowanie osiedla (188)
- Tworzenie konkurencji (190)
- Inicjalizacja symulacji (191)
- Kluczowe wskaźniki centrum handlowego (191)
- Wczytywanie godzin otwarcia (192)
- Monitorowanie centrum handlowego (193)
- Podsumowanie (198)
Rozdział 10. Symulacja klientów (201)
- Klasa Customer (201)
- Potrzeby klienta (202)
- Potrzeby gastronomiczne (204)
- Zliczanie potrzeb (204)
- Kiedy pojawią się klienci? (205)
- Tworzenie klientów (207)
- Wybór najlepszego centrum (209)
- Kolejki priorytetowe (211)
- Przebudowa kolejki (212)
- Dodawanie elementów do kolejki (212)
- Symulowanie klienta w centrum (214)
- Projektowanie automatu skończonego (214)
- Implementacja automatu skończonego (215)
- Podsumowanie (217)
Rozdział 11. Symulacja sklepów i pieniędzy (219)
- Sklepy a potrzeby (219)
- Przechowywanie informacji o sklepie (220)
- Klienci i sklepy (221)
- Szukanie sklepu (221)
- Wejście do sklepu (223)
- Obliczanie momentu wyjścia ze sklepu (223)
- Wyjście ze sklepu (224)
- Utrzymanie sklepu (225)
- Koniec dnia (225)
- Koniec miesiąca (226)
- Wyświetlanie informacji o sklepie (226)
- Zarządzanie budżetem centrum handlowego (229)
- Pobieranie czynszu (229)
- Koniec miesiąca w centrum handlowym (230)
- Koniec roku w sklepie (232)
- Koniec roku w centrum handlowym (233)
- Podsumowanie (234)
Część III Od symulacji do gry (235)
Rozdział 12. Sterowanie grą poprzez DirectInput (237)
- Czym jest DirectInput? (237)
- Korzystanie z DirectInput (238)
- Integrowanie DirectInput z grą (238)
- Inicjalizacja DirectInput (239)
- Inicjalizacja DirectInput (240)
- Obsługa zdarzeń DirectInput (243)
- Odczytywanie klawiatury (244)
- Konwersja kodów klawiatury na ASCII (246)
- Obsługa myszy (247)
- Przywracanie myszy (252)
- Zamykanie DirectInput (253)
- Podsumowanie (253)
Rozdział 13. Wydawanie poleceń w grze (255)
- Uruchamianie gry (255)
- Poruszanie się po centrum (256)
- Sterowanie szybkością gry (256)
- Wybieranie sklepów (257)
- Polecenia menu (257)
- Polecenia w grze (257)
- Stany gry (258)
- Nowe funkcje graficzne (259)
- Tworzenie poleceń (261)
- Konwersja informacji z klawiatury na polecenia (262)
- Konwersja informacji z myszy na polecenia (266)
- Wykonywanie poleceń (268)
- Modyfikacja głównej pętli (268)
- Wykonywanie poleceń (269)
- Wykonywanie poleceń w stanie OkayState (270)
- Wykonywanie poleceń w stanie NormalState (270)
- Wyświetlanie informacji graficznych (272)
- Kreślenie kursora (272)
- Kreślenie okienka dialogowego (275)
- Podsumowanie (278)
Rozdział 14. Dźwięki i muzyka (279)
- Dźwięki w centrum handlowym (279)
- Wprowadzenie do DirectX Audio (280)
- Udźwiękowienie gry (280)
- Inicjalizacja DXAudio (281)
- Odtwarzanie muzyki w tle (283)
- Ładowanie plików z muzyką do odtwarzania w tle (283)
- Odtwarzanie muzyki w tle (284)
- Zatrzymywanie odtwarzania (286)
- Wstrzymywanie odtwarzania w tle (286)
- Przywracanie odtwarzania (287)
- Ustawianie głośności muzyki w tle (287)
- Pierwszoplanowe efekty dźwiękowe (288)
- Sprawdzanie statusu odtwarzania (289)
- Tworzenie efektów dźwiękowych (290)
- Formaty plików dźwiękowych (290)
- Poszukiwanie dźwięków (291)
- Wprowadzenie do programu Cool Edit (291)
- Digitalizacja dźwięku (292)
- Nagrywanie dźwięku (294)
- Edycja pliku dźwiękowego (294)
- Zarządzanie plikami dźwiękowymi (296)
- Obróbka dźwięku (297)
- Podsumowanie (299)
Rozdział 15. Mapa centrum i klienci (301)
- Odwzorowywanie centrum (301)
- Tworzenie mapy (302)
- Definiowanie mapy (302)
- Ładowanie danych mapy (304)
- Inicjalizacja mapy (306)
- Zaznaczanie obszarów (307)
- Diagnostyka mapy (309)
- Tworzenie klientów (310)
- Kreślenie szkieletu i łuski (310)
- Rybie oczy i kolory (313)
- Zapisywanie ryby (315)
- Podsumowanie (315)
Rozdział 16. Spacer po centrum handlowym (317)
- Wyświetlanie klientów (317)
- Ładowanie siatek klientów (318)
- Zmiany w klasie Customer (318)
- Zmiany w klasie Queue (319)
- Wyświetlanie klientów (320)
- Spacer po centrum handlowym (321)
- Zarządzanie polami (321)
- Znajdowanie wejścia (322)
- Znajdowanie wolnego pola (323)
- Znajdowanie wolnego pola w sąsiedztwie (323)
- Sterowanie ruchem klientów (325)
- Chodzenie po centrum (328)
- Droga do sklepu (329)
- Poruszanie się po sklepie (330)
- Opuszczanie centrum handlowego (331)
- Obracanie klienta (332)
- Podsumowanie (332) Część IV Dopracowanie szczegółów gry (335)
Rozdział 17. Gazeta "Wiadomości Podwodne" (337)
- Czytanie "Wiadomości Podwodnych" (337)
- Zapisywanie artykułów (338)
- Redagowanie artykułów (339)
- Pobieranie wiadomości (340)
- Drukowanie gazety (341)
- Wyświetlanie gazety (342)
- Przeglądanie gazety (343)
- Pożyczanie pieniędzy z banku (344)
- Pożyczanie pieniędzy (344)
- Wprowadzanie ciągów tekstowych z klawiatury (344)
- Wyświetlanie okna dialogowego (346)
- Sterowanie oknem dialogowym (348)
- Raymond przemawia ludzkim głosem (349)
- Synteza mowy (349)
- Wybór głosu (350)
- Raymond mówi (350)
- Śledzenie wypowiedzi Raymonda (351)
- Wyświetlanie Raymonda (352)
- Podsumowanie (354)
Rozdział 18. Uruchamianie centrum handlowego (355)
- Tworzenie struktury poleceń (355)
- Projektowanie automatu skończonego (356)
- Dodawanie definicji (357)
- Odczyt informacji z wejść (359)
- Wykonywanie poleceń (360)
- Zarządzanie sklepami (361)
- Generowanie listy sklepów (361)
- Wyświetlanie informacji o sklepie (363)
- Wyświetlanie listy zaspokajanych potrzeb (365)
- Rozwiązywanie umowy dzierżawy (369)
- Obsługa polecenia rozwiązania umowy (369)
- Likwidacja sklepu (370)
- Podsumowanie (372)
Rozdział 19. Koniec jest dopiero początkiem (373)
- Zapisywanie gry (373)
- Wprowadzanie nazwy pliku (373)
- Zapisywanie gry w formacie SwimFile (374)
- Zapis informacji o grze (375)
- Zmiany w klasie SwimFile (376)
- Ładowanie zapisanej gry (377)
- Uruchamianie gry (377)
- Wybieranie zapisanej gry (378)
- Oszukiwanie w "Podwodnych zakupach" (381)
- Wykrywanie polecenia CheatInputCommand (382)
- Przetwarzanie kodów (383)
- Ukrywanie niespodzianek (385)
- Szukanie niespodzianek (385)
- Wyświetlanie niespodzianek (387)
- Podsumowanie (388)
Skorowidz (391)
- Czytanie "Wiadomości Podwodnych" (337)