Details zum E-Book

Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie VII

Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie VII

Harrison Ferrone

E-book

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!

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#
  • Titel: Stwórz grę w Unity, a nauczysz się programowania w C#! Pisanie kodu, które sprawia radość. Wydanie VII
  • Autor: Harrison Ferrone
  • Originaler Titel: Learning C# by Developing Games with Unity: Get to grips with coding in C# and build simple 3D games in Unity 2022 from the ground up, 7th Edition
  • Übersetzung: Radosław Meryk
  • ISBN: 978-83-8322-827-3, 9788383228273
  • Veröffentlichungsdatum: 2023-09-05
  • Format: E-book
  • Artikelkennung: stwgr7
  • Verleger: Helion