Читать книгу Делаем PC игру вместе - Ар'лан ис'Дрекхэм - Страница 9

«Делаем PC игру вместе»
6. Поехали!

Оглавление

Так, теперь займемся филигранно программами нашей будущей игры. Так как этих программ или как их еще называют «скриптов» будет много, то чтобы не путаться необходимо создать для них отдельную папку и назвать ее Scripts. Для этого в окне Проект (Project) на папке Assets щелкните правой кнопкой мыши Создать (Create)> Папка (Folder), назовем ее Scripts. Предлагаю взять вам на вооружение мысль о том, что удалять и переименовывать папки и файлы проекта необходимо в самом редакторе Unity3d, но не через Windows Проводник, так как все файлы проекта Unity3d связываются метаданными, которые в некоторых случаях очень капризны со всеми вытекающими отрицательными для радости творчества последствиями.

Старайтесь точь в точь делать так как описано все ниже по тексту с тем, чтобы не было путаницы и недопонимания.

Создадим игрока. Игрок это игровой объект с камерой, который является главным действующим лицом всей игры. Камера это объект, который показывает на экране все, что видит игрок. Вообще все, что есть в сцене или уровне Unity3d, все это игровые объекты – GameObject, причем все они расположены в виртуальном пространстве нашей сцены, поэтому любой объект в Unity3d всегда существует с компонентом Transform, который задает положение и размер объекта в пространстве. Логика подсказывает, что без этого компонента объект существовать не может, поэтому компонент Transform невозможно удалить из объекта.

Итак, игрок. Создадим программу для игрока, для этого нажмем правой кнопкой мыши в окне Проект (Project) в папке Scripts которую мы создали – Create> Scripting> Пустой C# Сценарий (Empty C# Script), назовем его FPCharacter. Двойной щелчок на этом файле чтобы открылся редактор Visual Studio. Мы увидим такие строчки кода:

using UnityEngine;

public class FPCharacter

{

}

Коротко разберем их. Строка using UnityEngine означает, что данная программа или сценарий или скрипт будет использовать (англ. using) базовые классы среды разработки Unity3d Engine.

Строка public class FPCharacter означает, что данный сценарий представляет собой класс (класс это основной тип данных языка программирования) с названием FPCharacter, и этот класс общедоступен благодря ключевому слову public, т.е. он может быть доступен для любого кода в проекте.

Также необходимо иметь ввиду, что все сценарии логики игры в Unity3d являются так сказать вытекающими из базового класса MonoBehaviour. Поэтому, чтобы сценарий нашей игры мог работать к указанию названия класса всегда необходимо добавлять двоеточие и MonoBehaviour. Теперь этот же код должен будет выглядить вот так:

using UnityEngine;

public class FPCharacter: MonoBehaviour

{

}

Сейчас мы создали каркас нашей первой программы. Теперь необходимо наполнить его данными и операциями. Все наполнение класса или его «тело» должно быть записано между фигурными скобками.

Укажем или объявим переменные. Переменная это кусочек памяти вашего компьютера, которая имеет тип, т.е. кто она, имя – как ее зовут, и хранит в себе какие-то значения. Напишем:

public float speed = 2.0f;

public float speedfast = 50.0f;

public float gravity = -9.8f;

Первая строка означает, что объявлена переменная, которая называется speed, имеет значение равное 2.0, является общедоступной (public) и имеет тип – float, т.е. числовой тип с плавающей запятой. Для примера в C# есть тип int, т.е. целочисленный тип, в который можно внести значение 1, 2, 3 и т.д., но нельзя записать 1,4 или 2,3. Именно в тип float можно внести значения 2,3 или 1,4. Также по правилам языка си шарп при объявлении переменной типа float в указании значения нужно ставить букву f, чтобы точно отделить переменную от другого типа называемого double. Также в конце инструкции или объявления переменной всегда необходимо ставить точку с запятой. При передаче нашего кода в машинные инструкции для процессора (запуск нашей программы) точка с запятой указывает на то, что данная инструкция или объявление переменной закончено и можно переходить к следующим действиям.

Теперь созданные три переменные будут помогать нам управлять программой, т.е. игроком, которого мы делаем. Переменные скорость (speed), быстрая скорость (speedfast) и гравитация (gravity). Сейчас программа выглядит вот так:

using UnityEngine;

public class FPCharacter: MonoBehaviour

{

public float speed = 2.0f;

public float speedfast = 50.0f;

public float gravity = -9.8f;

}

Нажмем Ctrl + S, чтобы сохранить наш сценарий, и, чтобы двигаться последовательно и не путаться вернемся в редактор Unity3d в наш проект и создадим сам игровой объект игрока. Правой кнопкой в окне Иерархия (Hierarchy) нажмем> Создать Пустой (Create Empty). Назовем сразу этот игровой объект Player. А теперь просто набросим на него наш созданный сценарий FPCharacter (Можно набросить или перетащить сценарий на объект в окне Hierarchy или в окно (Инспектор) Inspector). Окно Inspector наиболее часто используемое окно Unity3d, в нем отображаются почти все свойства и параметры объектов будущей игры.

Теперь мы видим наш сценарий FPCharacter находящимся на объекте Player как его компонент, такой же как вышеописанный Transform. И мы видим все три переменные нашего сценария с их установленными значениями. Обратите внимание, что если убрать ключевые слова public, то переменные исчезнут из инспектора и их настройка в редакторе Unity3d станет невозможной.


Делаем PC игру вместе

Подняться наверх