Vyatka-sputnik.ru

Курсы и образование
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Unity онлайн игры создание

Как создать игру на Unity 3D

На игровой платформе Unity уже давно создаются сотни игр с распространёнными жанрами как: гонки, экшен, логические, RPG и другие. Также на данном движке разрабатываются программы для разных ОС:

  • Windows и Windows Phone;
  • Linux;
  • Mac OS;
  • IOS и Android;
  • Браузерные игры, которые работают при поддержке плагина Unity Web Player и т.д.

В целом игра или приложение, независимо от того где она будет использоваться на ПК или смартфоне, состоит из комбинаций компьютерных инструкций и данных, позволяющая АВС (Автоматическая Вычислительная Машина) выполнять вычисления или функции управления, которые соответствуют определённому языку программирования. В этом и есть суть реализации потенциала и накопленной фантазии в создание своего проекта.

Для закрепления навыков нужна практика. Поэтому, давайте рассмотрим пример двухмерной игры «Гонки», где выбранное пользователем авто будет совершать движение по дороге.

Подготовка рабочего места и поиск предметов игры

Персонажем, о котором будет идти речь, является «Машинка», выбрать можно любую, от грузовика до легковушки, а так же конечно, трек, по которому она будет двигаться — «Дорога». По треку машинка ехать не будет, в свою очередь движение зададим дороге, таким образом, создадим иллюзию движения. Главное, что бы проекция на предметы была сверху, а не сбоку.

Далее делаем вход и настройку системы:

  • Запускаем приложение Unity 3D;
  • В появившемся окне кликаем «New Project», прописываем имя проекта, проставляем локацию для сохранения, ставим отметку напротив модуля 2Д и нажимаем кнопку «Create Project»;
  • При открытии программы, можно упорядочить удобное расположение рабочих окон, передвинуть их, нажав ПКМ и перетащив;
  • Выбираем File – Build Setting, если выбираемый проект компилируется под файловые системы типа Windows, MAC и т.п., то выбираем Android и нажимаем «Switch Platform»;
  • Перемещаем выбранные ранее заготовки в Юнити, в папку Assets.

Подготовление основы

Сцена готова, начинаем задавать значения нашим объектам в Инспекторе:

  • Кликаем на картинку дороги и меняем значение на Texture в меню Инспектор – Texture Tabe;
  • Что бы текстура повторялась, для нашей игры выбираем Wrap Mode – Repeat, остальные свойства оставляем и нажимаем Apply;
  • Трек состоит на основе 3Д объекта Quad, его можно выбрать в меню Create – 3D Object, после растягиваем его по размерам выбранной игровой области и перетягиваем картинку дороги на Quad;

Так как предметы сцены притемнены, добавляем объект Direction Light. Это так называемый источник света. Он создаёт вид солнца, предоставляя возможность осветить вид на сцене и добавить теней, для лучшего контраста.

После нужно задать нашей дороге функцию движения, для того прописываем новый скрипт:

  • Создание папки Scripts, сюда добавим С# Script, под названием «Move Track» и начинаем редактировать;
  • Двойным нажатие на скрипт открываем текстовый редактор и прописываем код со значениями, при которых будет смещаться созданная текстура:
  • пропишем переменную public float speed = 1f, таким образом, трек будет двигаться со скоростью 1, в дальнейшем это значение можно подкорректировать;
  • далее в Update прописываем новый вектор, в котором параметры движение будет производиться по Y: Vector2 offset = new Vector2 (0, Time.time * speed);
  • далее прописываем GetComponent ().material.mainTextureOffset = offset, здесь задано всей текстуре значение cдвига;
  • После создания скрипта проверяем движение дороги на сцене, нажав кнопку Play.

Робота над «игроком»

Перетаскиваем машинку на сцену и выставляем её размеры, и расположение для удобного пользования, при этом задаём в строке название Player.

  • Добавляем к текстуре компонент Box Collider 2D, что бы объект стал «твёрдым». Не забываем выставить границы нажатием на Edit Collider;
  • Также добавим Rigidbody 2D со значением Gravity Scale 0, в работе такого рода игры нет потребности использовать силу гравитации;
  • Создаём скрипт для привода движения предмета, например, назвав Player Controller;
  • Открываем редактор и задаём значения:
    • переменная public float carSpeed = 5f, а также Rigidbody2D rb;
      void Start ()
    • теперь нужно задать объекту перемещение влево и вправо, для этого в Update пишем: float direction = Input.GetAxis («Horizontal»);
      Vector2 carMove = New Vector2 (carSpeed * direction, 0);
      rb.velocity = carMove;
    • задаём значения границ, за которые объект не должен выходить:
      Vector3 pos = transform.position;
      pos.x = Mathf.Clamp (pos.x, -2.2f, 2.2f);
      transform.position = pos;
    • Возвращаемся в Юнити и кнопкой Play проверяем результат.

Добавление оппонентов

В сети нужно подыскать схожую по параметрам ещё одну машинку и перенести её в среду Unity. Добавляем компоненты:

  • Расположив препятствие на игровой сцене, добавляем Box Collider 2D и редактируем по примеру игрока и разворачиваем на 180;
  • Добавляем скрипт enemyMove с программированием кода для перемещения:
    • public float Speed;
    • speed = Random.Range (5f, 8f);
    • transform.Translate (new Vector3 (0, 1, 0) * speed * Time.deltaTime);
  • Дальше создаём пустой New Object и выносим его за приделы игровой зоны, при этом поворачиваем на 180. Для удобства присвоим имя «Barrier» и пометим любой иконкой;
  • Программируем скрипт этому объекту:
    • public GameObject[ ] barrier;
    • public float delayTimer = 2f;
    • float timer;
    • При старте указываем: timer = delayTimer;
    • При каждом апдейте:
    • Timer -= Time.deltaTime;
    • If (timer Category : Помощь
      • ← Создание 2D платформера в Unity 3D

      Основы разработки игр на Unity

      • 10 недель

      от 6 до 10 часов в неделю

      понадобится для освоения

      3 зачётных единицы

      для зачета в своем вузе

      Курс посвящен изучению разработки игр с помощью движка Unity. По окончании курса вы сможете осуществить мечту любого геймера: создать игру по собственному сценарию. Если вы давно хотели научиться разрабатывать игры, генерировать идеи, создавать концепцию и собственных персонажей, то этот курс станет для вас хорошим стартом на пути к работе в GameDev. Примените свои навыки программирования в этой перспективной сфере!

      О курсе

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

      На данный момент рынку GameDev нужны хорошие специалисты, ему недостаточно тех, кто владеет только навыками программирования, требуется также знание движка. Курс позволяет освоить разработку игровых приложений на платформе Unity, а дальше вы сможете смело окунуться в собственный проект по разработке идеальной игры, став инди-разработчиком, или найти работу на игровом рынке.

      Для успешного прохождения курса, необходимо знание языка программирования C#, а также крайне желателен хотя бы базовый уровень английского.

      Формат

      В состав курса входят видеолекции, видеопрезентации, интерактивные формы обучения в формате видеоконференций. Длительность курса составляет 10 недель. Трудоемкость курса – 3 зачетные единицы. Средняя недельная нагрузка на обучающегося – 10 часов.

      Информационные ресурсы

      Для изучения языка C#

      Для изучения языка Unity:

      Требования

      Для освоение курса необходимо обладать следующими знаниями, умениями и навыками:

      • ЗНАНИЯ:
        • на уровне представлений:
          • основы создания приложения в Unity;
          • инструментальные средства Unity;
          • основные методы языка C#;
      • УМЕНИЯ:
        • теоретические:
          • механизм использования сторонних скриптов для собственных приложений;
        • практические:
          • настраивать рабочую среду Unity;
          • создавать и использовать объекты prefabs;
      • НАВЫКИ:
        • организовывать взаимодействие объектов игрового мира.

      Программа курса

      Тема 1. Введение в разработку игр

      Основы разработки игр. Обзор редактора Unity. Проекты, сделанные с помощью Unity. Создание игр в режиме 2D и 3D. Создание игр без навыка в программировании.

      Тема 2. Работа в редакторе Unity

      Установка Unity. Интерфейс Unity. Настройка рабочего пространства. Работа с ассетами. Примитивные модели.

      Тема 3. GameObjects. Физика. Скриптинг

      Игровые объекты GameObjects. Шаблоны игр от Unity. Создание 2D игры за 10 минут. Физика в Unity 2D. Скриптинг.

      Тема 4. Начало создания 2D игры — Space Attack

      Создание фона для игры. Космический корабль. Написание скрипта. Управление игровым объектом. Рефакторинг кода.

      Тема 5. Экзамен и практика

      Тема 6. Работа с лазером

      Настройка лазера. Взаимодействие с объектами. Уничтожение объекта. Пустой трансформ. Контроллер на сцене. Скрипт движения. Ускорение.

      Тема 7. Объект Enemy

      Поведение Enemy. Уничтожение объекта. Попадание через коллизию. Поведение объектов при взрыве. Уклонение от нападений.

      Тема 8. Создание пользовательского интерфейса

      Знакомство с Unity UI. Установка UI Manager. Отображение количества очков. Окно перезапуска игры. Рефакторинг кода.

      Тема 9. Сборка игры

      Добавление аудио. Обработка ошибок. Сборка игры. Запуск на устройствах.

      Тема 10. Экзамен и практика

      Результаты обучения

      • Знание на уровне представлений алгоритмов, методов и средств обработки информации, применяемых при анализе научно-технической информации, отечественного и зарубежного опыта по тематике исследования.
      • Знание на уровне представлений основ объектно-ориентированного программирования, синтаксиса языка программирования C#.
      • Знание на уровне воспроизведения инструментальных средств разработки, доступных у платформы Unity.
      • Знание на уровне воспроизведения назначений и основных свойств стандартных элементов Unity.
      • Умения теоретические собирать эмпирический материал, опираясь на современные источники, осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования.
      • Умения практические реализовывать базовые алгоритмические конструкции на языке программирования C#.
      • Владение навыками самостоятельного проведения библиографической работы с привлечением современных электронных технологий.
      • Владение навыками работы с интегрированной средой разработки, которая позволяет реализовывать разработку проекта.

      Формируемые компетенции

      09.03.02 Информационные системы и технологи

      • способность использовать архитектурные и детализированные решения при проектировании систем; проводить выбор исходных данных для проектирования информационных систем, проводить сборку информационной системы из готовых компонентов, адаптировать приложения к изменяющимся условиям функционирования (ПК-2);
      • способность использовать архитектурные и детализированные решения при проектировании систем; проводить предпроектное обследование (инжиниринг) объекта проектирования, системный анализ предметной области, их взаимосвязей, проводить выбор исходных данных для проектирования информационных систем (ПК-4);
      • способность проводить выбор исходных данных для проектирования информационных систем (ПК-12);
      • способность применять математические методы для решения практических задач (ОК-10).

      09.04.02 Информационные системы и технологии

      • способностью осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования (ПК-7);
      • умение проводить разработку и исследование методик анализа, синтеза, оптимизации и прогнозирования качества процессов функционирования информационных систем и технологий (ПК-9);
      • способность воспринимать математические, естественнонаучные, социально-экономические и профессиональные знания, умением самостоятельно приобретать, развивать и применять их для решения нестандартных задач, в том числе в новой или незнакомой среде и в междисциплинарном контексте (ОПК-1);
      • способность анализировать и оценивать уровни своих компетенций в сочетании со способностью и готовностью к саморегулированию дальнейшего образования и профессиональной мобильности (ОПК-3).

      Unity онлайн игры создание

      Движок Unity является самым популярным сторонним программным обеспечением для разработки игр среди разработчиков по всему миру. Команды и студии всех уровней от AAA до инди используют Unity, и доля разработчиков и художников, опирающихся на Unity как на основной инструмент разработки, растет всё время.

      Unity поддерживает разработку для всех основных платформ: мобильной, ПК, консольной, веб, виртуальной реальности и дополненной реальности. Unity используется для создания игр и других приложений, рекламы, интерактивных историй и художественных материалов, визуализаций, фильмов и не только.

      Получите самые последние новости и показатели по Unity

      Что было сделано с помощью Unity?

      Из-за невероятно широкой распространенности движка Unity практическим невозможно нарисовать полную картину всего того, что было сделано с помощью этого движка.

      Далее мы приводим краткую сводку по нескольким играм, сделанным в Unity и ярко выделившимся благодаря потрясающей графике, а также превосходному повествованию и звуку.

      Cuphead

      Разработчик: Studio MDHR

      Cuphead — это инди-игра жанра «беги и стреляй» на основе классического мультяшного стиля 1930-х годов. При разработке игры использовалась вручную прорисованная анимация и акварельные фоны, а джазовый саундтрек был записан вживую на студии.

      Это одна из самых потрясающих в визуальном отношении игр, когда-либо сделанных в Unity.

      Monument Valley 2

      Разработчик: ustwo Games

      Игра Monument Valley 2 полностью построена на 3D-ассетах, но благодаря системе параллельного проецирования объекты кажутся двумерными игрокам.

      Студия создала новый набор инструментов, позволивший им быстрее итерировать в Unity и использовать visual scripting sequence, не воссоздавая вновь несколько слоев. Одним из наборов инструментов, использованных командой, было решение Unity для 2D.

      Rick and Morty: Virtual Rick-ality

      После создания своей флагманской игры Job Simulator, удостоенной награды Unity’s Best VR Game 2016, студия Owlchemy телепортировала знаменитых Рика и Морти в виртуальную реальность.

      Этот их первая смелая попытка по превращению 2D-мультфильмов в интерактивные 3D-вселенные. Игрок появляется в игре как клон Морти и, исследуя гараж Рика, испытывает на себе все безумства из популярного мультсериала.

      Успех игры обеспечен Unity и возможностью создания многоплатформенных VR-игр при использовании инструментов Unity для VR.

      Inside

      Inside — это приключенческий платформер-головоломка, созданный в Unity студией Playdead и опубликованный ею в 2016 году. Игрок управляет мальчиком в мрачном мире, решая головоломки по нахождению пути и избегая смерти.

      Разработчики из Playdead рассказывают об инструментах, приемах и технологиях, а также об улучшениях в загрузке и передаче ассетов в Unity при разработке игры Inside.

      Ori and the Blind Forest

      Разработчик: Moon Studios

      Ori and the Blind Forest зиждется на истории о симпатичном одиноком зверьке, в которой переплетены любовь, жертва и надежда, существующие в нас. Этот потрясающий в визуальном отношении экшен-платформер выделяется ручной прорисовкой, тщательно анимированными персонажами и превосходным музыкальным сопровождением.

      Помимо множества других наград, полученных за оригинальное аудио и художественные достижения, игра была с восторгом принята на Made With Unity Awards в 2015, когда была удостоена награды “Best 2D visuals”.

      Hearthstone

      Разработчик: Blizzard Entertainment

      В своей основе, Hearthstone — это коллекционная карточная игра, основанная на пошаговых онлайн-матчах между двумя игроками. Игроки получают базовый набор карт, а затем могут приобрести более сильные карты за золотые монеты, зарабатываемые в игре, или за настоящие деньги.

      При создании этой игры у команды из Blizzard не было достаточно много времени, чтобы проходить через традиционные циклы итераций, и целиком положились на Unity. Этот движок позволил им быстро идентифицировать баги и и проводить верную подстройку игрового баланса, а также помог команде быстрее совершенствовать свою игру.

      Cities: Skylines

      Разработчик: Colossal Order

      Cities: Skylines — это современный взгляд на классический симулятор города. Игра основана на игровых элементах, подчеркивающих радости и трудности созидания и поддержания жизни реального города, расширяя при этом устоявшиеся каноны градостроительных симуляторов.

      Команда из Colossal Order обратилась к Unity из-за гибкости этого движка и мощных возможностей. Для игроков нет ограничений, они могут размещать сооружения и есть инструменты для любой работы и любой цели. Более того, игроки могут привносить в игровой мир собственные объекты.

      Дополнительные ресурсы

      Если вы хотите узнать больше о прекрасных играх, созданных с помощью Unity, будь то 2D, 3D, VR на консоли, настольном ПК или мобильном устройстве, вы всегда можете обратиться к следующим ресурсам:

      Unity3D. Создание RPG. Урок 1. Создание меню


      1. Создаем меню с летающей камерой аля Far Cry.
      2. Персонаж. Движение и управление. Камера. Меняем позицию и вид камеры.
      3. Статы. Часть первая. Опыт, деньги.
      4. Квесты.
      5. Ai. Искусственный интеллект. Часть первая. Покупка персонажа.
      6. Статы. Часть вторая. Жизни, манна. Рисуем HP и MP бары.
      7. Ai. Искусственный интеллект. Часть вторая. Мобы.
      8. Инвентарь. Магазин.
      План может дополняться и изменятся.
      Урок 1. Меню с летающей камерой аля Far Cry.
      В этом уроке мы узнаем основы создания сцен в Unity3D. Узнаем некоторые стандартные возможности и некоторые дополнительные.
      Использовано:
      1. Terrain Toolkit http://yadi.sk/d/NECQRcVaCEKuT
      2. Nature Pack http://yadi.sk/d/m8Qu8ts2CEKyB
      3. Real Nature Pack 2 Autumn v2 http://yadi.sk/d/A4IN7tuMCELA3
      4. Tropical Nature Pack http://yadi.sk/d/lTMMWzC4CELCf

      План:
      1. Создание проекта. Импорт необходимых библиотек.
      2. Генерация ландшафта. Редактирование.
      3. Освещение. Камера.
      4. Анимация камеры(полет).
      5. Создание меню.
      Создание проекта. Импорт необходимых библиотек.
      Запускаем Unity. В «Project wizard» переходим во вкладку «Create New Project». В «Import the following packages» выбираем следующие паки: Skyboxes, Terrain Assets, Water(в зависимости от версии unity3d, я выбрал pro)

      Заходи в «Assets>>Import package>>Custom package» и переходим в папку где у вас лежат скачанные паки. Выбираем и нажимаем открыть.

      Внимание. Паки тяжелые по этому Unity может не слабо задуматься не пугайтесь!!
      Генерация ландшафта.
      Нажимаем «Terrain>>Create Terrain»

      Появился объект «Terrain»
      Нажимаем «Terrain>>Set Resolution» И устанавливаем размеры нашего ландшафта как на скриншоте. Для сцены меню на большой ландшафт не нужен и дабы не грузить процессор достаточно этих размеров.

      Тыкаем «Set Resolution»
      Нажимаем «Component>>Terrain>>Terain Toolkit»

      В появившемся компоненте «Terrain Toolkit» я выставил все так

      Советую поиграть с настройками очень часто вылазят такие интересные варианты ландшафта.
      Итак наш ландшафт готов.
      Зададим ему текстуру.
      В инспекторе нажимаем на кисточку а затем Edit Textures.

      И нажимаем Add Texture. В появившемся окне нажимаем «Select» на Texture

      В появившемся окне выбираем текстуру (двойной клик мышью), я выбрал «Grass(Hill)»

      Нажимаем Add и наш ландшафт перекрашивается.

      Нажимаем «Raise/Lower terrain»

      Выбираем кисть, размер(Brush Size) интенсивность(Opacity). И нажимая LBM(Левая кнопка мыши) поднимаем вершину, либо нажимая Shift+LBM опускаем.
      Нажимая «Smooth Height» (3 кнопка) убираем острые углы.
      Дальше я нарисовал что типа песчаного пляжа добавив текстуру «Good Dirt».
      Вот что у меня получилось.
      Выбираем «Place trees» и нажимаем «Edit trees». В появившемся окне нажимаем кружочек.
      И аналогично выбору текстуры выбираем дерево.
      И варируя настройками кисти насаживаем разных деревьев.
      Аналогично на предпоследней кнопке насаживаем цветов, травы, камней итд.
      С одним НО для того что бы не грузить процессор мы для травы мы выбираем «Add Grass Texture» а вот для остального «Add Details Mesh».
      И в последней вкладке можно побаловаться с настройками деревьев, рендера, настройками ветра. Я оставил все стандартно.
      Создадим воду. В окне «Project» идем в паку «OnQ Nature Pack 2 v2>>Resources Demo>>Standard Assets>>Water(pro only)» и выбираем «Daylight water».

      Перетягиваем на сцену и при помощи кнопок трансформации ставим и растягиваем как нам надо.

      Вот что у меня получилось.

      На этом с ландшафтом покончено.
      Добавим теперь «Skybox». Для Этого идем в «Edit>>Render Settings».

      И в инспекторе выбираем материал «Skybox» тыкнув на кружок.

      Я выбрал «Sunny2 skybox».
      Освещение и камера.
      В «GameObject>>Create Other» выберем «Point light».

      В инспекторе выставляем навстройки. «Position» x=100 y=100 z=100 это выставит наш источник света по центру над «Terrain» на высоте равной 100. «Range» = 150, это радиус освещения вокруг источника. И «Itensity» = 3.3.

      В итоге получился довольно мягкий свет достающий везде.

      У нас уже есть стандартно созданная камера «Main Camera». Кликнем на ней в окне Hierarchy. И расположим ей в позиции X=10, Z=10. A Y устанавливаем относительно высоты вашего ландшафта, у меня получилось 45. Что бы уменьшить площадь захватываемой камерой Изменяем настройку «Field of View»(У меня 43). Ориентируясь на окно «Camera Preview» поворачиваем камеру так как нам надо. У меня получилось Rotation X=5, Y=45, Z=0.
      Анимация камеры (полет)
      Заходим в «Window>>Animation» или нажимаем Ctrl+6. Нажимаем на стрелочки в пустом поле и выбираем «Create New Clip»
      Назовем его на пример «CameraFly». Нажмем на палочку на против «Position.x» и нажмем «Add Curves». Установим позицию кадра на 300 и выставляем необходимые координаты следующего положения камеры.
      У меня получились следующие значения:

      200?’200px’:»+(this.scrollHeight+5)+’px’);»>
      if(window == 1) //Если окно 1
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), «Меню»); //Создаем окно с меню

      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), «Новая игра»))
      <
      Application.LoadLevel(1); //Загружаем уровень 1
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), «Настройки»))
      <
      window = 2; //открываем окно настроек
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), «Об игре»))
      <
      window = 3; //Выводим информацию об Автарах игры
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), «Выход»))
      <
      window = 4; //Вызываем окно выхода
      >
      >

      //Далее все аналогично
      if(window == 2)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,250), «Настройки»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), «Игра»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), «Аудио»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), «Видео»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), «Управление»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+120,180,30), «Назад»))
      <
      window = 1;
      >
      >

      if(window == 3)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), «Об игре»);
      GUI.Label(new Rect(Screen.width/2-90,Screen.height/2-0, 180, 40), «Инфа о разрабе»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+100,180,30), «назад»))
      <
      window = 1;
      >
      >

      if(window == 4)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-60,200,120), «Выход?»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-20,180,30), «Да»))
      <
      Application.Quit(); //Выход из игры
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+20,180,30), «Нет»))
      <
      window = 1;
      >
      >

      if(window == 0) //Если это окно то выключаем меню
      <
      useGUILayout=false;
      >
      >

      Скрипт перемещаем на Main Camera.

      Сохраним сцену под названием menu.unity

      Полный код скрипта menu

      200?’200px’:»+(this.scrollHeight+5)+’px’);»> using UnityEngine;
      using System.Collections;

      public class Menu : MonoBehaviour <
      public bool showMenu; //Отображать ли меню
      public int window; //Отображаемое окно
      public float lifeTime = 5.0f; //Максимальное время отображения меню
      private float curTime; //Текущие время отображения меню

      void Start () <
      showMenu = true;
      window = 1;
      >

      void Update () <
      if(showMenu == true) //Проверяем включно ли меню
      <
      curTime += Time.deltaTime; //Если включено, Увеличиваем переменную curTime согласно пройденому времени
      >
      if(curTime > lifeTime) //Если время дошло до максимальной точки
      <
      showMenu = false; //Отключаем меню
      window = 0;
      curTime = 0; //Сбрасываем таймер
      >
      if(showMenu == false&Input.anyKeyDown) //Если меню выключено и нажата любая клавиша
      <
      showMenu = true; //Включаем меню
      window = 1;
      >
      >

      void OnGUI () <
      if(window == 1) //Если окно 1
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), «Меню»); //Создаем окно с меню

      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), «Новая игра»))
      <
      Application.LoadLevel(1); //Загружаем уровень 1
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), «Настройки»))
      <
      window = 2; //открываем окно настроек
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), «Об игре»))
      <
      window = 3; //Выводим информацию об Автарах игры
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), «Выход»))
      <
      window = 4; //Вызываем окно выхода
      >
      >

      //Далее все аналогично
      if(window == 2)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,250), «Настройки»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-40,180,30), «Игра»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-0,180,30), «Аудио»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+40,180,30), «Видео»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+80,180,30), «Управление»))
      <
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+120,180,30), «Назад»))
      <
      window = 1;
      >
      >

      if(window == 3)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-80,200,220), «Об игре»);
      GUI.Label(new Rect(Screen.width/2-90,Screen.height/2-0, 180, 40), «Инфа о разрабе»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+100,180,30), «назад»))
      <
      window = 1;
      >
      >

      if(window == 4)
      <
      GUI.Box (new Rect (Screen.width/2-100,Screen.height/2-60,200,120), «Выход?»);
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2-20,180,30), «Да»))
      <
      Application.Quit(); //Выход из игры
      >
      if(GUI.Button (new Rect (Screen.width/2-90,Screen.height/2+20,180,30), «Нет»))
      <
      window = 1;
      >
      >

      if(window == 0) //Если это окно то выключаем меню
      <
      useGUILayout=false;
      >
      >
      >

      Читать еще:  Английский для 2 класса онлайн бесплатно
Ссылка на основную публикацию
Adblock
detector