Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie 5 - ebook
Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie 5 - ebook
Unity jest zaawansowanym środowiskiem przeznaczonym do tworzenia gier 3D. Równocześnie może stanowić początek wspaniałej przygody z C#, który jest nowoczesnym i wszechstronnym językiem programowania. Taka ścieżka nauki pozwala na uniknięcie niezrozumiałego dla początkujących żargonu czy niejasnej logiki programowania. Poszczególne konstrukcje języka i ich zastosowanie nagle stają się proste - dzięki niestandardowym skryptom pisanym w C# można rozszerzyć możliwości Unity i tworzyć wciągające, świetnie wyglądające gry. Oto sposób na przyjemną i angażującą, a przy tym skuteczną naukę programowania!
To piąte, uzupełnione i zaktualizowane wydanie cenionego podręcznika, dzięki któremu poznasz od podstaw koncepcje programowania w języku C#, dowiesz się, czym są zmienne i klasy, a także jakie są zasady programowania zorientowanego obiektowo. Po zapoznaniu się z elementarzem C# przejdziesz do tworzenia gier w Unity. Nauczysz się tworzyć skrypty obsługi prostej mechaniki gry i zdobędziesz praktyczne doświadczenie w programowaniu zgodnym z najlepszymi praktykami kodowania. A tym samym wejdziesz na wyższy poziom w zakresie posługiwania się Unity i językiem C#. Po uważnej lekturze zdobędziesz umiejętności potrzebne do realizacji projektów własnych gier w Unity i C#.
W książce między innymi:
- precyzyjne przykłady przydatne w nauce podstaw programowania w języku C#
- skrypty i ich implementacja w Unity
- tworzenie podstawowych mechanizmów gier
- interfejsy, klasy abstrakcyjne, stosy, kolejki, obsługa wyjątków i błędów w C#
- podstawy sztucznej inteligencji do zastosowania w grach
Ciekawość to pierwszy krok do programowania!
Spis treści
- O autorze
- O recenzentach
- Przedmowa
- Dla kogo jest ta książka?
- Zawartość książki
- Jak najlepiej wykorzystać tę książkę?
- Pobieranie plików z przykładowym kodem
- Stosowane konwencje
- 1. Poznaj środowisko
- Wymagania techniczne
- Pierwsze kroki z Unity 2020
- Korzystanie z macOS
- Tworzenie nowego projektu
- Poruszanie się w edytorze
- Korzystanie z C# w Unity
- Korzystanie ze skryptów C#
- Wprowadzenie do edytora Visual Studio
- Czas na działanie otwieranie skryptu C#
- Uważaj na niedopasowanie nazw
- Synchronizacja plików C#
- Poznawanie dokumentacji
- Dostęp do dokumentacji Unity
- Czas na działanie otwieranie dokumentacji Reference Manual
- Czas na działanie korzystanie z dokumentacji Scripting Reference
- Wyszukiwanie zasobów dotyczących C#
- Czas na działanie poszukiwanie informacji na temat klasy C#
- Dostęp do dokumentacji Unity
- Podsumowanie
- Pytania obsługa skryptów
- 2. Bloki budulcowe programowania
- Definiowanie zmiennych
- Nazwy są ważne
- Zmienne pełnią rolę symboli zastępczych
- Czas na działanie tworzenie zmiennej
- Czas na działanie modyfikacja wartości zmiennej
- Metody
- Metody definiują działania
- Metody to także symbole zastępcze
- Czas na działanie tworzenie prostej metody
- Klasy wprowadzenie
- Popularne klasy w Unity
- Klasa jest planem obiektów
- Korzystanie z komentarzy
- Praktyczne lewe ukośniki
- Komentarze wielowierszowe
- Czas na działanie wprowadzanie komentarzy
- Wykorzystanie bloków budulcowych programowania w praktyce
- Skrypty stają się komponentami
- Pomocna dłoń od klasy MonoBehaviour
- Próba gry Narodziny bohatera klasa MonoBehaviour w Scripting API
- Komunikowanie się pomiędzy klasami
- Podsumowanie
- Quiz bloki budulcowe języka C#
- Definiowanie zmiennych
- 3. Zmienne, typy i metody
- Pisanie poprawnego kodu w C#
- Debugowanie kodu
- Deklarowanie zmiennych
- Deklaracje typów i wartości
- Deklarowanie samego typu
- Korzystanie z modyfikatorów dostępu
- Wybór poziomu bezpieczeństwa
- Czas na działanie tworzenie zmiennej prywatnej
- Typy danych
- Popularne wbudowane typy danych
- Czas na działanie korzystanie z różnych typów danych
- Czas na działanie tworzenie interpolowanych ciągów znaków
- Konwersja typów
- Wywnioskowane deklaracje
- Typy niestandardowe
- Typy ogólna charakterystyka
- Nazwy zmiennych
- Najlepsze praktyki
- Zasięg zmiennej
- Operatory
- Operatory arytmetyczne i operatory przypisania
- Czas na działanie wykonywanie nieprawidłowych działań na typach
- Definiowanie metod
- Podstawowa składnia
- Modyfikatory i parametry
- Czas na działanie definiowanie prostej metody
- Konwencje nazewnictwa
- Metody są objazdem w przepływie sterowania programu
- Metody z parametrami
- Czas na działanie dodawanie parametrów do metody
- Określanie zwracanych wartości
- Czas na działanie dodawanie zwracanej wartości
- Wykorzystywanie zwracanych wartości
- Czas na działanie przechwytywanie zwracanych wartości
- Próba gry Narodziny bohatera metody i argumenty
- Korzystanie z popularnych metod w Unity
- Metoda Start
- Metoda Update
- Podsumowanie
- Quiz zmienne i metody
- 4. Przepływ sterowania i kolekcje
- Instrukcje wyboru
- Instrukcja if-else
- Podstawowa składnia
- Czas na działanie perspektywa złodzieja
- Korzystanie z operatora NOT
- Zagnieżdżanie instrukcji
- Ocena wielu warunków
- Czas na działanie dotarcie do skarbu
- Instrukcja if-else
- Instrukcja switch
- Podstawowa składnia
- Dopasowywanie wzorców
- Czas na działanie wybór czynności do wykonania
- Przypadki fall-through
- Czas na działanie rzucanie kośćmi
- Quiz nr 1 instrukcje warunkowe
- Kolekcje wprowadzenie
- Tablice
- Podstawowa składnia
- Indeksy tablic
- Wyjątki przekroczenia zakresu
- Listy
- Podstawowa składnia
- Czas na działanie uczestnicy rozgrywki
- Najważniejsze metody
- Tablice
- Słowniki
- Podstawowa składnia
- Czas na działanie konfigurowanie zapasów
- Korzystanie z par zapisanych w słowniku
- Quiz nr 2 wszystko o kolekcjach
- Podstawowa składnia
- Instrukcje iteracyjne
- Pętle for
- Czas na działanie wyszukiwanie elementu
- Pętle foreach
- Przetwarzanie w pętli par kluczwartość
- Próba gry Narodziny bohatera znajdowanie dostępnych przedmiotów
- Pętle while
- Czas na działanie śledzenie życia gracza
- Do nieskończoności i dalej
- Podsumowanie
- Instrukcje wyboru
- 5. Klasy, struktury i programowanie obiektowe
- Definiowanie klas
- Podstawowa składnia
- Czas na działanie tworzenie klasy Character
- Tworzenie egzemplarzy klasy
- Czas na działanie tworzenie nowego obiektu postaci
- Dodawanie pól klasy
- Czas na działanie szczegóły postaci
- Korzystanie z konstruktorów
- Czas na działanie określanie początkowych wartości właściwości
- Deklarowanie metod klasy
- Czas na działanie wyświetlanie danych o postaci
- Podstawowa składnia
- Deklarowanie struktur
- Podstawowa składnia
- Czas na działanie utworzenie struktury Weapon
- Podstawowa składnia
- Typy referencyjne i typy wartości
- Typy referencyjne
- Czas na działanie tworzenie nowej postaci
- Typy wartości
- Czas na działanie kopiowanie broni
- Typy referencyjne
- Myślenie w kategoriach obiektów
- Hermetyzacja
- Czas na działanie resetowanie
- Dziedziczenie
- Konstruktory bazowe
- Czas na działanie wywoływanie konstruktora bazowego
- Konstruktory bazowe
- Kompozycja
- Polimorfizm
- Czas na działanie odmiany funkcjonalne
- Przegląd informacji o paradygmacie OOP
- Hermetyzacja
- Zastosowanie OOP w Unity
- Obiekty są realizacjami klas
- Dostęp do komponentów
- Podstawowa składnia
- Czas na działanie dostęp do bieżącego komponentu transformacji
- Czas na działanie wyszukiwanie komponentów różnych obiektów
- Przeciągnij i upuść
- Czas na działanie przypisywanie zmiennych w Unity
- Podsumowanie
- Quiz wszystko o OOP
- Definiowanie klas
- 6. Ubrudź sobie ręce silnikiem Unity
- Elementarz projektu gry
- Dokumentacja projektowa gry
- Dokumentacja jednostronicowa gry Narodziny bohatera
- Budowanie poziomu
- Tworzenie prymitywów
- Czas na działanie tworzenie podstawowej płaszczyzny
- Tworzenie prymitywów
- Myślenie w 3D
- Materiały
- Czas na działanie zmiana koloru podłoża
- White-boxing
- Narzędzia edycyjne
- Narodziny bohatera ustawianie ściany
- Utrzymywanie hierarchii w porządku
- Czas na działanie korzystanie z pustych obiektów
- Korzystanie z prefabrykatów
- Czas na działanie tworzenie wieżyczki
- Czas na działanie aktualizacja prefabrykatu
- Czas na działanie dokończenie poziomu
- Narodziny bohatera tworzenie elementu kondycji
- Narzędzia edycyjne
- Materiały
- Podstawy oświetlenia
- Tworzenie oświetlenia
- Właściwości komponentów oświetlenia
- Animacje w Unity
- Tworzenie klipów
- Czas na działanie tworzenie nowego klipu
- Nagrywanie klatek kluczowych
- Czas na działanie animacja obracania
- Krzywe i styczne
- Czas na działanie wygładzanie obrotu
- Tworzenie klipów
- System cząstek
- Czas na działanie dodanie efektów blasku
- Podsumowanie
- Quiz podstawowe własności silnika Unity
- Elementarz projektu gry
- 7. Ruch, sterowanie kamerą i kolizje
- Poruszanie postacią
- Konfigurowanie gracza
- Czas na działanie tworzenie kapsuły gracza
- Wektory
- Pobieranie danych wejściowych od gracza
- Czas na działanie ruchy graczem
- Konfigurowanie gracza
- Dodawanie kamery śledzącej
- Czas na działanie skrypt z implementacją zachowania kamery
- System fizyki w Unity
- Komponenty Rigidbody w ruchu
- Czas na działanie dostęp do komponentu Rigidbody
- Czas na działanie obsługa ruchu komponentu Rigidbody
- Komponenty Collider i kolizje
- Czas na działanie podnoszenie przedmiotu
- Zastosowanie wyzwalaczy komponentów Collider
- Czas na działanie tworzenie nieprzyjaciela
- Czas na działanie przechwytywanie zdarzeń wyzwalających
- Narodziny bohatera wszystkie prefabrykaty!
- System fizyki przegląd
- Komponenty Rigidbody w ruchu
- Podsumowanie
- Quiz sterowanie graczem i system fizyki
- Poruszanie postacią
- 8. Skrypty do obsługi mechaniki gry
- Obsługa skoków
- Typy wyliczeniowe
- Typy wartości w enumeracjach
- Czas na działanie naciskanie spacji, aby skakać!
- Zastosowanie masek warstw
- Czas na działanie ustawienie warstw obiektów
- Czas na działanie jeden skok naraz
- Mechanizm strzelania
- Tworzenie egzemplarzy obiektów
- Czas na działanie tworzenie prefabrykatu pocisku
- Czas na działanie dodanie mechaniki strzelania
- Zarządzanie obiektami GameObject
- Czas na działanie niszczenie pocisków
- Tworzenie menedżera gry
- Śledzenie właściwości gracza
- Czas na działanie tworzenie menedżera gry
- Pobieranie i ustawianie właściwości
- Czas na działanie dodawanie zmiennych wspierających
- Czas na działanie aktualizacja kolekcji przedmiotów
- Polerowanie gry
- Graficzny interfejs użytkownika
- Czas na działanie dodawanie elementów interfejsu użytkownika
- Warunki wygrywania i przegrywania
- Czas na działanie wygrana
- Dyrektywy using i przestrzenie nazw
- Czas na działanie zatrzymywanie i ponowne uruchamianie
- Podsumowanie
- Quiz mechanika gry
- Obsługa skoków
- 9. Podstawy sztucznej inteligencji. Zachowania nieprzyjaciół
- Nawigacja w Unity
- Komponenty nawigacyjne
- Czas na działanie konfigurowanie komponentu NavMesh
- Czas na działanie konfigurowanie agentów nieprzyjaciela
- Komponenty nawigacyjne
- Ruchome agenty nieprzyjaciół
- Programowanie proceduralne
- Czas na działanie odwoływanie się do lokalizacji patrolowych
- Czas na działanie ruchy nieprzyjaciół
- Czas na działanie ciągłe patrolowanie pomiędzy lokalizacjami
- Programowanie proceduralne
- Mechanika gry nieprzyjaciela
- Znajdź i zniszcz
- Czas na działanie zmiana celu agenta
- Czas na działanie wykrywanie kolizji z kulami
- Czas na działanie aktualizacja menedżera gry
- Znajdź i zniszcz
- Refaktoryzacja i zastosowanie zasady DRY
- Czas na działanie refaktoryzacja metody restart
- Narodziny bohatera refaktoryzacja logiki wygranej (przegranej)
- Czas na działanie refaktoryzacja metody restart
- Podsumowanie
- Quiz mechanizmy AI i nawigacja
- Nawigacja w Unity
- 10. Więcej o typach, metodach i klasach
- Więcej informacji o modyfikatorach dostępu
- Właściwości stałe i tylko do odczytu
- Wykorzystanie słowa kluczowego static
- Czas na działanie tworzenie klasy statycznej
- Więcej informacji o metodach
- Przeciążanie metod
- Czas na działanie przeciążanie metody restartowania poziomu
- Parametry ref
- Czas na działanie śledzenie restartów
- Parametry out
- Więcej informacji o OOP
- Interfejsy
- Czas na działanie tworzenie interfejsu menedżera
- Czas na działanie implementacja interfejsu
- Klasy abstrakcyjne
- Rozszerzanie klas
- Czas na działanie rozszerzanie klasy String
- Czas na działanie korzystanie z metod rozszerzeń
- Więcej o przestrzeniach nazw
- Aliasy typów
- Podsumowanie
- Quiz wchodzimy o poziom wyżej
- Więcej informacji o modyfikatorach dostępu
- 11. Stosy, kolejki i kolekcje HashSet
- Stosy wprowadzenie
- Podstawowa składnia
- Czas na działanie przechowywanie zebranych przedmiotów
- Zdejmowanie elementów ze stosu i podglądanie ich
- Czas na działanie ostatni zebrany przedmiot
- Popularne metody
- Kolejki
- Podstawowa składnia
- Dodawanie, usuwanie i podglądanie elementów kolejek
- Najważniejsze metody
- Podstawowa składnia
- Korzystanie z kolekcji HashSet
- Podstawowa składnia
- Wykonywanie działań na zbiorach
- Podsumowanie
- Quiz zaawansowane kolekcje
- Stosy wprowadzenie
- 12. Typy generyczne, delegaty i nie tylko
- Wprowadzenie do typów generycznych
- Obiekty generyczne
- Czas na działanie tworzenie generycznej kolekcji
- Metody generyczne
- Czas na działanie dodanie elementu generycznego
- Ograniczenia parametrów typu
- Czas na działanie ograniczenia dla generycznych elementów
- Obiekty generyczne
- Delegowanie działań
- Podstawowa składnia
- Czas na działanie tworzenie delegata do debugowania
- Delegaty jako typy parametrów
- Czas na działanie wykorzystanie delegatów w roli argumentów
- Podstawowa składnia
- Zdarzenia
- Podstawowa składnia
- Czas na działanie tworzenie zdarzenia
- Obsługa subskrypcji zdarzeń
- Czas na działanie subskrybowanie zdarzenia
- Podstawowa składnia
- Obsługa wyjątków
- Zgłaszanie wyjątków
- Czas na działanie sprawdzanie, czy indeks sceny nie jest ujemny
- Korzystanie z bloków try-catch
- Czas na działanie przechwytywanie błędów podczas restartowania
- Zgłaszanie wyjątków
- Elementarz wzorców projektowych
- Popularne wzorce stosowane w grach
- Podsumowanie
- Quiz zaawansowane możliwości języka C#
- Wprowadzenie do typów generycznych
- 13. Dalsza podróż
- To tylko namiastka
- Przypomnienie zasad programowania obiektowego
- Podejście do projektów Unity
- Własności silnika Unity, których nie opisałem
- Następne kroki
- Zasoby związane z językiem C#
- Zasoby związane z Unity
- Certyfikaty z Unity
- Narodziny bohatera pokaż grę światu
- Podsumowanie
- Odpowiedzi do quizów
- Rozdział 1. Poznaj środowisko
- Pytania obsługa skryptów
- Rozdział 2. Bloki budulcowe programowania
- Quiz bloki budulcowe języka C#
- Rozdział 3. Zmienne, typy i metody
- Quiz zmienne i metody
- Rozdział 4. Przepływ sterowania i kolekcje
- Quiz 1 instrukcje warunkowe
- Quiz nr 2 wszystko o kolekcjach
- Rozdział 5. Klasy, struktury i programowanie obiektowe
- Quiz wszystko o OOP
- Rozdział 6. Ubrudź sobie ręce silnikiem Unity
- Quiz podstawowe własności silnika Unity
- Rozdział 7. Ruch, sterowanie kamerą i kolizje
- Quiz sterowanie graczem i system fizyki
- Rozdział 8. Skrypty do obsługi mechaniki gry
- Quiz mechanika gry
- Rozdział 9. Podstawy sztucznej inteligencji. Zachowania nieprzyjaciół
- Quiz mechanizmy AI i nawigacja
- Rozdział 10. Więcej o typach, metodach i klasach
- Quiz wchodzimy o poziom wyżej
- Rozdział 11. Stosy, kolejki i kolekcje HashSet
- Quiz zaawansowane kolekcje
- Rozdział 12. Typy generyczne, delegaty i nie tylko
- Quiz zaawansowane możliwości języka C#
- Rozdział 1. Poznaj środowisko
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8145-2 |
Rozmiar pliku: | 11 MB |