Про создание платформера на Unity. Часть вторая, звездная

12 сентября 2014 г., 8:13:11
Упомянутые аппараты

Привет, Хабр!

Я, как и обещал, продолжаю делиться с вами знаниями, приобретенными в процессе освоения 2D-режима Unity. От начинающего, так сказать, начинающим. Систематизирую, улучшаю и прогрессирую вместе с вами. Сегодня мы добавим к содержимому первой статьи управление камерой, сбор бонусов и первый способ умереть в игре. Если вам, как и мне, не терпится приступить, то добро пожаловать под кат.

И да, гифок там еще больше, чем в прошлый раз.

Про создание платформера на Unity. Часть вторая, звездная




Скорее в бой!

Чтобы камера во время игры не стояла статично, а плавно двигалась за персонажем, используем заранее подготовленный скрипт. Все по-прежнему просто: берем его и перетаскиваем, но уже на камеру.

Про создание платформера на Unity. Часть вторая, звездная


Сам скрипт очень короткий и выглядит вот так:

using UnityEngine;
using System.Collections;

public class newcam : MonoBehaviour {
	public float dampTime = 0.15f;
	private Vector3 Velocity = Vector3.zero;
	public Transform target;
	
	// Update is called once per frame
	void Update () 
	{
		if (target)
		{
			Vector3 point = camera.WorldToViewportPoint(new Vector3(target.position.x, target.position.y+0.75f,target.position.z));
			Vector3 delta = new Vector3(target.position.x, target.position.y+0.75f,target.position.z) - camera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, point.z)); //(new Vector3(0.5, 0.5, point.z));
			Vector3 destination = transform.position + delta;


			transform.position = Vector3.SmoothDamp(transform.position, destination, ref velocity, dampTime);
		}
		
	}
}



Main camera, на которую повешен этот скрипт, следует за объектом, который указан у него (скрипта) в публичной переменной target. К слову — все публичные переменные в скриптах можно изменять прямо из редактора Unity. В нашем случае укажем на храброго носатого героя, запустим игру и проверим.

Про создание платформера на Unity. Часть вторая, звездная


Теперь можно сделать префаб из платформы (помните как? если нет, смотрите первую статью) и раскидать их по сцене произвольным образом. В моем случае, выглядеть это все будет примерно так:

Про создание платформера на Unity. Часть вторая, звездная


Прогуляемся по уровню. Прыжок, еще прыжок… Неудачное движение и герой падает в яму и не собирается возвращаться назад. Как нам с этим бороться? Да легко! Основная идея в том, что в пустоте под платформами будут расположены невидимые объекты, при пересечении которых можно будет загрузить уровень заново или вернуть персонажа назад с, допустим, минус одной жизнь. Для этого нам понадобятся пустой объект, которому добавим Box Collider (вытянутый по горизонтали) и поставим на нем в инспекторе галку Is trigger. Триггер в Unity отличается от простого коллайдера тем, что он не является препятствием, но при пересечении с объектом может вызвать какое-то событие. Объект переименуем в dieCollider и напишем немного кода для обработки падения. Вот вам гифка по случаю такого длинного абзаца:

Про создание платформера на Unity. Часть вторая, звездная


Как можно быстрее найдем во вкладке Assets и, после двойного клика, впервые познакомимся с MonoDevelop в рамках этой серии уроков.

Про создание платформера на Unity. Часть вторая, звездная


Для обработки пересечения с триггером используется функция OnTriggerEnter2D. Для простого коллайдера аналогично OnCollisionEnter2D.
Добавим следующий код:

void OnTriggerEnter2D(Collider2D col){
		if (col.gameObject.name == "dieCollider")
						Application.LoadLevel (Application.loadedLevel);
	}



Как видите, все логично. Если имя объекта, с которым мы столкнулись, совпадает со строкой «dieCollider», то перезагружаем уровень вполне очевидным методом — загружаем еще раз уровень, который уже загружен.
Теперь можно упасть в яму и…

Про создание платформера на Unity. Часть вторая, звездная


Отлично, персонаж возвращается на стартовую позицию. Сделаем префаб из dieCollider'а, расставим его копии во всех опасных местах и осмотримся: чего-то явно не хватает. Конечно, бонусов, которые можно собирать! Принцип их создания абсолютно аналогичен созданию областей, которые возвращают нас назад. Мы будем снова использовать триггеры, только теперь будем сталкиваться не с невидимым объектом, а со вполне конкретной звездой. Работает это так:

Про создание платформера на Unity. Часть вторая, звездная


Теперь вернемся в MonoDevelop и напишем немного кода. Объявим float переменную score (которую на первое время можно сделать публичной, чтобы следить за результатом в процессе создания игры) и добавим следующий код в функцию OnTriggerEnter2D

if (col.gameObject.name == "star") {
						score++;
						Destroy (col.gameObject);
				}



Он выполняет две простые функции — увеличивает результат на единицу и уничтожает объект, с которым мы столкнулись (в данном случае звезду). Так как из бонуса мы уже сделали префаб, раскидаем немного по уровню и посмотрим что будет, если их собирать. Обратите внимание на переменную score в правом нижнем углу экрана.

Про создание платформера на Unity. Часть вторая, звездная


Теперь давайте научимся отображать результат на экране, ведь никто не хочет играть в игру прямо в редакторе и смотреть где-то сбоку количество собранных звезд. В этом нам поможет функция OnGUI(), которая прекрасно умеет отрисовывать на экране текстовые блоки, кнопки и прочие полезные вещи.

void OnGUI(){
	GUI.Box (new Rect (0, 0, 100, 100), "Stars: " + score);
}



Проще некуда. Прямо на ДжиЮАе рисуется квадрат с координатой левого верхнего угла (0,0) и размерами 100x100. В нем выводится текст, прямо говорящий нам о количестве собранных звездочек.

Про создание платформера на Unity. Часть вторая, звездная


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

И да: напомню, что прямо сейчас проходит конкурс разработчиков игр, в котором можно принять участие и получить Xbox One или Lumia 930!

Stay tuned!

Предыдущая часть

О чем рассказать в следующей части?
Как анимировать персонажа
Как добавить в игру врагов
Как веселиться с физикой

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Проголосовало 209 человек. Воздержалось 18 человек.



Обзор Nokia Lumia 930
Обзор Nokia Lumia 930 Наш сайт: http://mobile-review.com/ Наш твиттер: https://twitter.com/mobilreview Наш ВК: http://vk.com/mobilereviewcom Наш FB: https://www.facebook.com/mobilereviewcom PT12M57S

Похожие новости

16 февраля 2016 г., 0:23:57 samsung-ativ-se1

Компании Microsoft и Samsung молчат о выпуске обновления до Windows 10 Mobile для смартфонов серии ATIV, что породило слухи, будто эти устройства не будут обновлены и навсегда останутся с Windows Phone 8.1. Один пользователей форума Reddit поделился довольно интересной историей, связанной со смартфоном...

29 января 2016 г., 13:14:17 4

Это устройство было признано самым популярным устройством на платформе Windows Phone не только три года назад, но и в настоящее время. Компания AdDuplex на днях опубликовала результаты исследования, согласно которым порядка 12,9% всех используемых сегодня смартфонов на этой мобильной платформе – это...

29 января 2016 г., 6:18:57 adduplex-jan2016-devices-global

Рекламно-аналитическая компания AdDuplex поделилась довольно интересной статистикой об устройствах на базе Windows Phone. Как выяснилось, большая часть используемых в настоящее время Windows-смартфонов, были представлены как минимум два года назад. Это можно воспринимать по-разному. Первый вариант:...

21 января 2016 г., 3:14:44 И снова об умных часах: битва концепций и неделя автономной работы

В свое время я приобрел себе умные часы Samsung Galaxy Gear на Android 4.2.2. И чисто из жадности – ну как же, потратил около 500 долларов – носил их пару месяцев, но затем эти извращения опыты пришлось прекратить. Во-первых, для моей руки эти часы всё же крупноваты. Во-вторых, уведомления, шагомер и...

20 января 2016 г., 19:52:01

В интервью сайту Tech Digest Пекка Похьакаллио (Pekka Pohjakallio), вице-президент Nokia Nseries Computers, заявил, что концепция нового телефона Apple iPhone в целом повторяет идеи, родившиеся в Nokia. «Сейчас Apple претворяет в жизнь уже существующие идеи, хотя и реализует их немного по-другому,...


Похожие обзоры

21 января 2016 г., 0:23:00 Обзор смартфона Meizu MX4 Ubuntu Edition

Слухи о том, что китайская компания Meizu планирует выпустить коммуникатор на базе Ubuntu Touch, появились еще в начале прошлого года. В течении 2014 г. компания периодически демонстрирует прототип устройства на выставках и осенью объявляет, что Meizu MX4 на Ubuntu Touch выйдет в декабре, сообщает некоторые...

20 января 2016 г., 18:56:58 Новинки осени: видеообзор Lumia 830 и Lumia 730 / 735

В сентябре этого года мы показали продолжение нашей новой линейки cмартфонов в лице вице-флагманской модели Lumia 830, а также двух более доступных моделей: Lumia 730 с двумя SIM-картами и Lumia 735 c поддержкой 4G. А уже в начале октября эти устройства вышли в продажу на российском рынке. После московской...

20 ноября 2015 г., 19:15:10 huawei-p8-11

Изящный, “самый тонкий в мире”. Выполненный из великолепных материалов. С разумными габаритами и весьма неплохой эргономичностью. О Huawei P8 можно говорить много лестного. Но один вопрос всё же требует однозначного ответа. Настоящий ли это флагман образца 2015 года? Дизайн и комплектация Упаковка –...

19 ноября 2015 г., 9:04:15 Huawei Watch

40 лет назад компания Pulsar представила первый наручный калькулятор с незамысловатым названием Calculator. Модель из чистого золота стоила $4000, из металла — $550, а сам президент США Джеральд Форд хотел приобрести устройство на Рождество 1975-го. И вот спустя 40 лет технический прогресс достиг того...

4 сентября 2015 г., 11:25:03 Обзор Meizu MX5: европейское качество из Поднебесной

С каждым днем на рынке мобильных устройств растет количество китайских производителей, появляются новые бренды, а старые закрепляют свои позиции. Бренд Meizu — один из успешных игроков этой волны на сегодня. За последние годы мы смогли убедиться, что в компании действительно умеют делать качественные...


Похожие отзывы

30 апреля 2015 г., 19:05:20 image

Здравствуйте, меня зовут Мурат и я смартфонозависим. *хором* «Здравствуй, Мурат». Везде и в любое время при мне находится смартфон. Не то, чтобы от его непосредственного нахождения вблизи зависит моя работа или личная жизнь, но этот аппарат значительно облегчает оба этих аспекта. На сегодняшний день...

16 марта 2015 г., 14:14:39 Windows Insider принесла Microsoft более миллиона отзывов

Управляющий программой Windows Insider Габриэль Аул с радостью сообщил через свой Твиттер-аккаунт, что Microsoft получила более миллиона отзывов о новой Windows 10 от участников тестирования через приложение Feedback. Официальное представление программы Windows Insider состоялось еще в сентябре 2014...

13 марта 2015 г., 8:38:57 Lenovo P780 и наши с ним проблемы +скрины

Достоинства: 8 мп камера, батарея 4000ma/h, две сим-карты, металлическийНедостатки: низкое качество фронтальной камеры Привет. Свой первый отзыв я решила посвятить своему любимчику Lenovo P780.  Этот телефон у меня с декабря 2013 года и по сей день. Мы неразлучны. Описывать характеристики телефона не...

12 марта 2015 г., 18:20:16 Подробный обзор Lg Optimus L7. Служит мне уже 2 года. Немного "туговат" в использовании,но в целом,я не жалею о покупке)

                                                       Всем добрый вечер! Сегодня я хочу рассказать вам о смартфоне LG OPTIMUS L7 Всё по порядку. Раньше у меня был Nokia X2- маленький серенький,но очень громкий телефон) Он прослужил мне около 3,5 лет и я перешла на Андроид. Lg мне безумно понравился...

11 марта 2015 г., 20:20:17

Достоинства: windows 8, большое количество приложений, громкие динамики, интуитивно понятный интерфейс, оптимальное соотношение цены и качества, стильный дизайнНедостатки: куча лишних приложений Здравствуйте хороший смартфон Nokia Lumia 520,в нем много приложений,игры Xbox качество хорошее яркое,камера...


Похожие инструкции

16 июля 2015 г., 19:32:19 image

Кадр из фильма «Матрица» В наше время компания Meizu — это один из интереснейших Китайских производителей смартфонов. Они бьют все рейтинги и продолжают расти, радуя нас отличными устройствами. Недавно Meizu анонсировали смартфоны M2 Note и MX5. Оба устройства имеют довольно низкую стоимость, несмотря...

12 июля 2015 г., 18:27:14

Эта неделя оказалась весьма волнительной для поклонников Windows Phone. Microsoft произвели драматичные перестановки в своем мобильном подразделении. В ряде СМИ это восприняли, чуть ли как не отказ от собственной мобильной операционной системы, своих устройств и прочее. Это не так, достаточно прочитать...

10 июня 2015 г., 13:01:43

Найдите свой идеальный смартфон из нашего списка Android, Windows и Apple-фонов. Если вас смущает огромное количество смартфонов, доступных на рынке, и вы не можете решить, который...

15 мая 2015 г., 11:42:37

Это история о том, как главному герою не привыкать бежать впереди паровоза прогресса. Итак. В 2006 году я купил Nokia E61. Это была здоровая дура наподобие Blackberry, с экраном 2.9" и полной QWERTY-клавиатурой, работала на Symbian (Series60). Смартфонами в России тогда пользовались отдельные ***нутые...

16 апреля 2015 г., 23:23:59 2015-04-16_17-53-40

Компания Microsoft официально объявила о начале стратегического сотрудничества с Cyanogen — разработчиком кастомных прошивок для смартфонов и планшетов, работающих под управлением Android. В рамках этого сотрудничества в прошивку Cyanogen будут интегрированы различные приложения и сервисы Microsoft,...

Упомянутые аппараты
vk.com/analogindex_ru
"Analog Index" © 2014 - 2015