Изучаем C# через разработку игр на Unity

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля изучить программирование на C# без зубодробительных терминов и непонятной логики программирования, причем процесс изучения сопровождается созданием простой игры на Unity. В пятом издании изложены последние версии всех современных функций C# на примерах из игрового движка Unity, а также добавлена новая глава о промежуточных типах коллекций. Вы начнете с основ программирования и языка C#, узнаете основные концепции программирования на С#, включая переменные, классы и объектно-ориентированное программирование. Освоив программирование на C#, переключитесь непосредственно на разработку игр на Unity и узнаете, как написать сценарий простой игры на C#. На протяжении всей книги описываются лучшие практики программирования, которые помогут вам вывести свои навыки Unity и C# на новый уровень. В результате вы сможете использовать язык C# для создания собственных реальных проектов игр на Unity.

Author(s): Харрисон Ферроне
Series: Библиотека программиста
Edition: 5
Publisher: Питер
Year: 2022

Language: Russian
Commentary: Vector PDF
Pages: 400
City: СПб.
Tags: Programming; C#; Unity; Object-Oriented Programming; Game Development

Предисловие
Для кого эта книга
Структура книги
Как получить от книги максимум
Скачивание файлов с примерами кода
Скачивание цветных изображений
Условные обозначения
От издательства
О научных редакторах
Об авторе
1. Знакомство
со средой
Технические требования
Начинаем работу в Unity 2020
Если у вас macOS
Создание нового проекта
Интерфейс программы
Использование C# с Unity
Работа со сценариями C#
Редактор Visual Studio
Синхронизация файлов C#
Изучение документации
Доступ к документации Unity
Поиск ресурсов C#
Подведем итоги
Контрольные вопросы. Работа со сценариями
2. Основные элементы программирования
Определение переменных
Имена важны
Переменные — это коробки
Понятие метода
Методы — это движущая сила
Методы — это тоже «коробки»
Знакомство с классами
Стандартный класс Unity
Классы — это шаблоны
Работа с комментариями
Практичные косые
Многострочные комментарии
Собираем все воедино
Сценарии превращаются… в изящные компоненты
Рука помощи от MonoBehavior
Связь между классами
Подведем итоги
Контрольные вопросы. Основные элементы C#
3. Погружение в переменные, типы и методы
Пишем на C# правильно
Отладка кода
Объявление переменных
Объявление типа и значения
Объявление типа без значения
Использование модификаторов доступа
Выбор уровня безопасности
Работа с типами
Простые встроенные типы
Преобразование типов
Предполагаемые объявления
Пользовательские типы
Итого про типы
Именование переменных
Практические рекомендации
Понятие области видимости переменных
Знакомство с операторами
Арифметика и присваивание
Определение методов
Базовый синтаксис
Определение параметров
Определение возвращаемых значений
Время действовать. Добавляем возвращаемый тип
Использование возвращаемых значений
Анализ распространенных методов Unity
Метод Start()
Метод Update()
Подведем итоги
Контрольные вопросы. Переменные и методы
4. Поток управления и типы коллекций
Операторы выбора
Оператор if-else
Оператор switch
Контрольные вопросы 1. Операторы if, and и or
Знакомство с коллекциями
Массивы
Списки
Словари
Контрольные вопросы 2. Все о коллекциях
Операторы итерации
Цикл for
Цикл foreach
Цикл while
Бесконечность не предел!
Подведем итоги
5. Работа с классами, структурами и ООП
Определение класса
Базовый синтаксис
Создание экземпляра объекта класса
Добавление полей класса
Использование конструкторов
Объявление методов класса
Объявление структур
Базовый синтаксис
Общие сведения о ссылочных типах и типах значений
Ссылочные типы
Типы-значения
Подключаем объектно-ориентированное мышление
Инкапсуляция
Наследование
Композиция
Полиморфизм
Итого про ООП
Применение ООП в Unity
Объекты — это творение класса
Доступ к компонентам
Подведем итоги
Контрольные вопросы. Все об ООП
6. Погружение
в Unity
Основы игрового дизайна
Документация игрового дизайна
Брошюра о Hero Born
Создание уровня
Создание примитивов
Трехмерное мышление
Материалы
White-boxing
Основы работы со светом
Создание источников света
Свойства источников света
Анимация в Unity
Создание клипов
Запись ключевых кадров
Кривые и касательные
Система частиц
Подведем итоги
Контрольные вопросы. Основные функции Unity
7. Движение, управление камерой и столкновения
Перемещение игрока
Создание игрока
Введение в векторы
Обработка ввода от игрока
Следование камеры за игроком
Время действовать. Программируем поведение камеры
Работа с физикой Unity
Rigidbody в движении
Коллайдеры и столкновения
Использование триггеров коллайдера
Итоги по физике
Подведем итоги
Контрольные вопросы. Управление игроком и физика
8. Программируем механику игры
Добавление прыжков
Перечисления
Работа со слоями-масками
Реализация стрельбы
Создание экземпляров объектов
Следим за размножением GameObject
Создание игрового менеджера
Отслеживание свойств игрока
Свойства get и set
Улучшаем игрока
Графический интерфейс
Условия победы и поражения
Использование директив и пространств имен
Резюме
Контрольные вопросы. Работа с механикой
9. Основы ИИ и поведение врагов
Навигация с помощью Unity
Компоненты навигации
Перемещение вражеских агентов
Процедурное программирование
Механика врага
Найти и уничтожить
Рефакторинг — держим код в чистоте
Время действовать. Создаем метод перезапуска
Резюме
Контрольные вопросы. ИИ и навигация
10. Снова о типах, методах и классах
Подробнее о модификаторах доступа
Свойства constant и readonly
Использование ключевого слова static
Вернемся к методам
Перегрузка методов
Параметр ref
Параметр out
Подробнее об ООП
Интерфейсы
Абстрактные классы
Расширения класса
И снова о пространствах имен
Псевдонимы типов
Резюме
Контрольные вопросы. Новый уровень!
11. Знакомство со стеками, очередями и HashSet
Введение в стеки
Базовый синтаксис
Просмотр и извлечение
Общие методы
Работа с очередями
Базовый синтаксис
Добавление, удаление и просмотр
Общие методы
Использование HashSet
Базовый синтаксис
Выполнение операций
Резюме
Контрольные вопросы. Сложные коллекции
12. Обобщения, делегаты и многое другое
Обобщения
Обобщенные объекты
Обобщенные методы
Ограничения типов параметров
Делегирование действий
Базовый синтаксис
Делегаты как типы параметров
Запуск событий
Базовый синтаксис
Обработка подписок на события
Обработка исключений
Выбрасывание исключений
Использование оператора try-catch
Экскурс по паттернам проектирования
Часто используемые игровые паттерны
Резюме
Контрольные вопросы. Продвинутый C#
13. Путешествие продолжается
Верхушка айсберга
Повторим объектно-ориентированное программирование
Приближение к проектам Unity
Возможности Unity, которые мы не рассмотрели
Следующие шаги
Ресурсы по языку C#
Ресурсы по Unity
Сертификаты Unity
Резюме
Ответы на контрольные вопросы
Глава 1. Знакомство со средой
Глава 2. Основные элементы программирования
Глава 3. Погружение в переменные, типы и методы
Глава 4. Поток управления и типы коллекций
Глава 5. Работа с классами, структурами и ООП
Глава 6. Погружение в Unity
Глава 7. Движение, управление камерой и столкновения
Глава 8. Программируем механику игры
Глава 9. Основы ИИ и поведение врагов
Глава 10. Снова о типах, методах и классах
Глава 11. Знакомство со стеками, очередями и HashSet
Глава 12. Обобщения, делегаты и многое другое