Главная » Статьи » 2D Шутер на Unity3D |
В скриптах нарочно допущены легкие ошибки, чтобы вы как-то научились разбираться в скриптинге, а не тупо копипастили готовый код. Окей, наш игрок отображается на нашей плоскости. Теперь давайте создадим его тайл. Тайл – это плитка, точнее несколько тайлов составляют одно большое изображение. В нашем случае на нашей плоскости отображается всё изображение, которую мы должны поделить на тайлы и выводить только один тайл, в зависимости от действий пользователя. Выделите PlayerMaterial и свойству X Tiling и Y Tiling установите значения (-0.2) и (-0.25) соответственно. Мы собираемся анимировать наш персонаж, для этого мы должны динамически переключать тайлы. Дальше добавим персонажу RigidBody (component –> phizics ->rigidbody) и capsule collider (component –> phizics –> capsule collider). Capsule collider добавляет персу ограничивающую капсулу, при пересечении этой капсулы другими объектами они будут отражатся. RigidBody добавляет персу физику: центр тяжести, трение с объектами и тд. Отключите свойство use gravity в rigidbody, тогда ваш перс не будет падать вниз или по-другому не будет испытывать силу тяжести. Наш перс готов, пора написать скрипт движения перса. Создадим C# скрипт (как создавать описано в видеоуроке "Скриптинг в Unity3D”), назовем "AIScript”. Создайте папку "scripts” и переместите AIScript в эту папку. Удобней будет перемещать ваши скрипты в отдельную папку, что мы и сделали сверху. Откроем AIScript и первым делом меняем название класса на название самого скрипта.
Там где я исправил/дополнил я выделяю красным цветом. Вы, наверно, знаете что делают функции Start и Update. Если нет, смотрим видеурок. Добавим переменную thisIsPlayer:
Теперь создадим новую функцию, которую мы назовем FindInput. Эта функция будет искать путь, которая будет отправляться в другие функции, чтобы определить что должен сделать наш перс. Этот путь будет или действиями перса или AI. Я добавлю еще 2 функции ниже FindInput, один будет искать путь перса и другой путь AI. Добавьте ниже функции Update:
Я надеюсь, что этот код не вызвал у вас каких-либо затруднений, если вызвал, рекомендую изучить язык сишарп. Теперь идем в Unity3D Editor(далее буду писать просто Едитор) и выделяете объект Player, в окне инспектора назначаем тэг объекта на "player”. Тэг используется для идентификации объектов. Идем в наш скрипт и добавляем ниже переменной thisIsPlayer:
Указатели – переменные, которые дают нам доступ к объектам в нашем мире(Игре). В этом контексте objPlayer будет указателем , который даст доступ к свойствам нашего перса. Главной камере в игре автоматически дается тэг ‘MainCamera’ Дополним нашу функцию Start:
Нам надо добавить ввод нашему персу, т.е. на какие клавиши нажал игрок. В Едиторе идем (edit ->project settings –> input) там вам можете видеть все достпуные Инпуты для нашей игры. Я собираюсь использовать стандартные настройки этого проекта, и при необходимости изменить или добавить. Далее я дописал код, вы скачать можете здесь AIScript. Скрипт я подробно объясняю с следующем уроке. | ||||||
Категория: 2D Шутер на Unity3D | Добавил: Шаке (27.06.2012) | ||||||
Просмотров: 4803 | Комментарии: 1 |
Всего комментариев: 0 | |