Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie VII - ebook
Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie VII - ebook
Unity to jeden z najpopularniejszych silników do tworzenia gier. Równocześnie, pracując w tym środowisku, możesz się nauczyć programowania w C#, który jest nowoczesnym i wszechstronnym językiem. Podczas pisania skryptów potrzebnych do zbudowania gry poszczególne konstrukcje języka i ich zastosowanie nagle stają się proste i zrozumiałe. Dzięki nim można zaimplementować niestandardowe zachowania i mechanikę gry, i to na poziomie profesjonalnej, grywalnej gry! I właśnie taki jest cel tej książki - nauka bloków budulcowych programowania i języka C# od podstaw.
Oto siódme, uzupełnione i zaktualizowane wydanie cenionego podręcznika (dodano do niego kilka nowych rozdziałów). Dzięki lekturze poznasz od podstaw koncepcje programowania w języku C# i płynnie przejdziesz do tworzenia gier w Unity. Nauczysz się pisać skrypty implementujące prostą mechanikę gier, programować proceduralnie i zwiększać złożoność swoich gier poprzez wprowadzanie inteligentnych nieprzyjaciół i pocisków zadających obrażenia. W kolejnych rozdziałach poznasz coraz ciekawsze możliwości Unity, niezbędne w projektowaniu gier, takie jak sterowanie oświetleniem, ruchami gracza, kamerą, programowanie kolizji i wiele innych.
W książce między innymi:
- podstawy programowania, w tym programowania zorientowanego obiektowego w języku C#
- przykłady skryptów C# w środowisku Unity
- interfejsy, klasy abstrakcyjne i rozszerzenia klas
- tworzenie dokumentu projektu gry i podstawowych mechanizmów gier
- stosy, kolejki, wyjątki, obsługa błędów
- formaty XML i JSON i ich zastosowanie
Mistrz programowania zaczynał od pisania gier!
Spis treści
O autorze
O recenzencie
Przedmowa
Rozdział 1. Poznaj środowisko
- Wymagania techniczne
- Pierwsze kroki z Unity 2022
- 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
- Synchronizacja plików C#
- Poznawanie dokumentacji
- Dostęp do dokumentacji Unity
- Wyszukiwanie zasobów dotyczących C#
- Podsumowanie
- Quiz - obsługa skryptów
Rozdział 2. Bloki budulcowe programowania
- Definiowanie zmiennych
- Nazwy są ważne
- Zmienne pełnią funkcję symboli zastępczych
- Metody
- Metody definiują działania
- Metody to także symbole zastępcze
- Klasy - wprowadzenie
- Popularne klasy w Unity
- Klasa jest planem obiektów
- Komunikowanie się klas pomiędzy sobą
- Stosowanie komentarzy
- Komentarze jednowierszowe
- Komentarze wielowierszowe
- Wprowadzanie komentarzy
- Wykorzystanie bloków budulcowych programowania w praktyce
- Skrypty stają się komponentami
- Pomocna dłoń od klasy MonoBehaviour
- Podsumowanie
- Quiz - bloki budulcowe języka C#
Rozdział 3. Zmienne, typy i metody
- Pisanie poprawnego kodu w C#
- Debugowanie kodu
- Zmienne
- Deklarowanie zmiennych
- Korzystanie z modyfikatorów dostępu
- Typy danych
- Nazwy zmiennych
- Zasięg zmiennej
- Operatory
- Operatory arytmetyczne i operatory przypisania
- Definiowanie metod
- Deklaracje metod
- Konwencje nazewnictwa
- Metody są "objazdem" w przepływie sterowania programu
- Metody z parametrami
- Określanie zwracanych wartości
- Wykorzystywanie zwracanych wartości
- Korzystanie z popularnych metod w Unity
- Podsumowanie
- Quiz - zmienne i metody
Rozdział 4. Przepływ sterowania i kolekcje
- Instrukcje wyboru
- Instrukcja if-else
- Instrukcja switch
- Quiz nr 1: if, and i or
- Kolekcje - wprowadzenie
- Tablice
- Listy
- Słowniki
- Quiz nr 2 - wszystko o kolekcjach
- Instrukcje iteracyjne
- Pętle for
- Pętle foreach
- Pętle while
- Do nieskończoności i dalej
- Podsumowanie
Rozdział 5. Klasy, struktury i programowanie obiektowe
- Wprowadzenie w tematykę programowania obiektowego
- Definiowanie klas
- Tworzenie egzemplarzy klasy
- Dodawanie pól klasy
- Korzystanie z konstruktorów
- Deklarowanie metod klasy
- Deklarowanie struktur
- Typy referencyjne i typy wartości
- Typy referencyjne
- Typy wartości
- Myślenie w kategoriach obiektów
- Hermetyzacja
- Dziedziczenie
- Kompozycja
- Polimorfizm
- Zastosowanie OOP w Unity
- Obiekty są realizacjami klas
- Dostęp do komponentów
- Podsumowanie
- Quiz - wszystko o OOP
Rozdział 6. Ubrudź sobie ręce silnikiem Unity
- Elementarz projektu gry
- Dokumentacja projektowa gry
- Dokumentacja jednostronicowa gry Narodziny bohatera
- Budowanie poziomu
- Tworzenie prymitywów
- Myślenie w 3D
- Materiały
- White-boxing
- Podstawy oświetlenia
- Tworzenie oświetlenia
- Właściwości komponentów oświetlenia
- Animacje w Unity
- Tworzenie animacji w kodzie
- Tworzenie animacji w oknie Animation środowiska Unity
- Nagrywanie klatek kluczowych
- Krzywe i styczne
- Podsumowanie
- Quiz - podstawowe własności silnika Unity
Rozdział 7. Ruch, sterowanie kamerą i kolizje
- Zarządzanie ruchem gracza
- Przemieszczanie postaci gracza za pomocą komponentu Transform
- Wektory
- Pobieranie danych wejściowych od gracza
- Poruszanie postacią
- Tworzenie skryptów do obsługi kamery
- Korzystanie z systemu fizyki środowiska Unity
- Komponenty Rigidbody w ruchu
- Komponenty Collider i kolizje
- Zastosowanie wyzwalaczy komponentów Collider
- System fizyki - przegląd
- Podsumowanie
- Quiz - sterowanie graczem i system fizyki
Rozdział 8. Skrypty do obsługi mechaniki gry
- Obsługa skoków
- Typy wyliczeniowe
- Zastosowanie masek warstw
- Mechanizm strzelania
- Tworzenie egzemplarzy obiektów
- Dodanie mechaniki strzelania
- Zarządzanie obiektami
- Tworzenie menedżera gry
- Śledzenie właściwości gracza
- Pobieranie i ustawianie właściwości
- Aktualizacja kolekcji przedmiotów
- Tworzenie GUI
- Wyświetlanie statystyk gracza
- Warunki wygrywania i przegrywania
- Wstrzymywanie i restartowanie gry z wykorzystaniem dyrektywy using i przestrzeni nazw
- Podsumowanie
- Quiz - mechanika gry
Rozdział 9. Podstawy sztucznej inteligencji. Zachowania nieprzyjaciół
- Nawigacja w przestrzeni 3D w Unity
- Komponenty nawigacyjne
- Konfigurowanie agentów nieprzyjaciela
- Ruchome agenty nieprzyjaciół
- Programowanie proceduralne
- Odwoływanie się do lokalizacji patrolowych
- Ruchy nieprzyjaciół
- Mechanika gry nieprzyjaciela
- Znajdź i zniszcz: zmiana celu agenta
- Obniżanie kondycji gracza
- Wykrywanie kolizji z kulami
- Aktualizacja menedżera gry
- Refaktoryzacja i zastosowanie zasady DRY
- Podsumowanie
- Quiz - mechanizmy AI i nawigacja
Rozdział 10. Więcej o typach, metodach i klasach
- Korzystanie z modyfikatorów dostępu
- Właściwości stałe i tylko do odczytu
- Wykorzystanie słowa kluczowego static
- Więcej informacji o metodach
- Przeciążanie metod
- Parametry ref
- Parametry out
- Więcej informacji o OOP
- Interfejsy
- Klasy abstrakcyjne
- Rozszerzanie klas
- Konflikty przestrzeni nazw i aliasy typów
- Podsumowanie
- Quiz - wchodzimy o poziom wyżej
Rozdział 11. Wyspecjalizowane typy kolekcji i LINQ
- Stosy - wprowadzenie
- Zdejmowanie elementów ze stosu i podglądanie ich
- Popularne metody
- Kolejki
- Dodawanie, usuwanie i podglądanie elementów kolejek
- Korzystanie z kolekcji HashSet
- Wykonywanie działań
- Podsumowanie informacji o kolekcjach dla średnio zaawansowanych
- Zapytania o dane za pomocą LINQ
- Podstawy LINQ
- Wyrażenia lambda
- Łączenie zapytań w łańcuch
- Przekształcanie danych na nowe typy
- Upraszczanie LINQ dzięki opcjonalnej składni
- Podsumowanie
- Quiz - zaawansowane kolekcje
Rozdział 12. Zapisywanie, ładowanie i serializowanie danych
- Wprowadzenie w tematykę formatów danych
- Więcej informacji o XML?
- Więcej informacji o JSON
- System plików
- Wykorzystywanie ścieżek zasobów
- Tworzenie i usuwanie katalogów
- Tworzenie, aktualizowanie i usuwanie plików
- Korzystanie ze strumieni
- Zarządzanie zasobami strumieniowymi
- Korzystanie z klas StreamWriter i StreamReader
- Tworzenie obiektu XMLWriter
- Automatyczne zamykanie strumieni
- Serializacja danych
- Serializacja i deserializacja z wykorzystaniem formatu XML
- Serializacja i deserializacja z wykorzystaniem formatu JSON
- Podsumowanie informacji o danych
- Podsumowanie
- Quiz - zarządzanie danymi
Rozdział 13. Typy generyczne, delegaty i nie tylko
- Wprowadzenie do typów generycznych
- Klasy generyczne
- Metody generyczne
- Ograniczenia parametrów typu
- Dodawanie typów generycznych do obiektów Unity
- Delegowanie działań
- Tworzenie delegata do debugowania
- Delegaty jako typy parametrów
- Zdarzenia
- Tworzenie i wywoływanie zdarzeń
- Obsługa subskrypcji zdarzeń
- Czyszczenie subskrypcji zdarzeń
- Obsługa wyjątków
- Zgłaszanie wyjątków
- Korzystanie z bloków try-catch
- Podsumowanie
- Quiz - zaawansowane możliwości języka C#
Rozdział 14. Dalsza podróż
- Dokładniejsze studiowanie poznanych zagadnień
- Przypomnienie zasad programowania obiektowego
- Elementarz wzorców projektowych
- 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 nr 1 - if, and i or
- 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. Wyspecjalizowane typy kolekcji i LINQ
- Quiz - zaawansowane kolekcje
- Rozdział 12. Zapisywanie, ładowanie i serializowanie danych
- Quiz- zarządzanie danymi
- Rozdział 13. Typy generyczne, delegaty i nie tylko
- Quiz - zaawansowane możliwości języka C#
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-8322-827-3 |
Rozmiar pliku: | 11 MB |