Методы организации взаимодействия между скриптами в Unity3D.

Вступление.

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

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

Подход 1. Назначение через редактор Unity3D.

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

Назовем оба скрипта менеджерами: ScoresManager и HUDManager.
Каким же образом менеджеру, отвечающему за меню экрана можно получить текущее количество очков от менеджера, отвечающего за начисление очков?

Предполагается, что в иерархии объектов(Hierarchy) сцены существуют два объекта, на один из которых назначен скрипт ScoresManager, а на другой скрипт HUDManager.

Один из подходов, содержит следующий принцип:

В скрипте UIManager определяем переменную типа ScoresManager:

public class HUDManager : MonoBehaviour
{
	public ScoresManager ScoresManager;
}

Но переменную ScoresManager необходимо еще инициализировать экземпляром класса. Для этого выберем в иерархии объектов объект, на который назначен скрипт HUDManager и в настройках объекта увидим переменную ScoresManager со значением None.

Continue reading “Методы организации взаимодействия между скриптами в Unity3D.”

Январьский отчет 2014г.

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

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

Чем я занимался в течение месяца.

1.Фрилансил над тремя проектами с целью заработка денег на ежедневные расходы. Так как проекты еще в разработке, считаю не корректно выкладывать скриншоты или еще какую-либо информацию по ним. По завершению расскажу отдельно.

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

2.1.Первый проект Space Travel, написанный в начали прошлого года, тогда был признан мною неудачным и брошен на середине рефакторинга и переделки 3D механики в 2D. Текущее состояние проекта оказалось ужасным и время, которое я оценил на приведение его в порядок было слишком большим и не стоило усилии. Решил ничего с проектом не делать и закрыть его окончательно.

 

Continue reading “Январьский отчет 2014г.”

Приветствие и отчет за декабрь 2013г.

Всем привет!

Этим постом я открываю свой блог, на создание которого меня вдохновил Matthew Bowden и его ежемесячные отчеты (http://www.truevalhalla.com/blog/).
У блога две цели. Первая – это писать развернутые статьи по технологиям, которыми я владею или овладеваю. И вторая – ежемесячные отчеты о моих онлайн доходах.
И пусть первая цель стандартная – в сети существуют тысячи блогов, в которых авторы пишут о чем только можно написать. Вторая же цель является для меня более важной. Это некий публичный контракт, о котором мне придется ежедневно думать и что-то делать для демонстрации ежемесячного прогресса.

Зачем мне это?


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

В планах проработать следующие способы онлайн заработка:

  • Разработка простых игр на Unity3D и распространение их по веб-порталам. Монетизация от рекламы. По прикидкам, не очень перспективное направление, все порталы используют Flash, а количество геймплеев Unity3D игр на таких порталах показывает удручающую статистику. Но попробовать стоит.
  • Pазработка простых Unity3D игр для мобильных устройств. Этот вариант более перспективен. Огромной прибыли на небольших играх не заработаешь, но некоторый пассивный доход, предполагаю, можно получить. Монетизация путем рекламы и внутренних платежей.
  • Pазработка плагинов для Unity Asset Store. Перспективы не до конца понятны. 2 миллиона скачек Unity3D и 300 тысяч активных разработчиков в месяц. Количество плагинов в магазине велико, но вариантов на все случаи жизни нет, очень многого не хватает. Попробую занять какую-нибудь нишу.
  • Доработка старого проекта для социальных сетей (игровые автоматы) до прибыльного состояния. Выход в одноклассники и фейсбук, а так же, на мобильные платформы. В этом проекте я являюсь партнером и очень многое от меня не зависит.
  • Разработка более сложной  и глубокой игры вместо примитивных. Планирую дорабатывать функционал игры Dragon Tale и плавно доводить ее до релиза.
  • Cвой портал игр. Для начала, необходимо провести исследование по этому вопросу.

На жизнь же планирую зарабатывать фрилансом, так же как и в 2013 году, но цель перетянуть ползунок со стороны фриланса в сторону своих проектов в плане уделения своего времени и получения прибыли.

Что было сделано за декабрь.

Декабрь был не очень продуктивным. Две недели я провел в отпуске и свадебном путешествии. По возвращению разгребал накопившиеся задачи.

  • Много занимался «Вишневым Казино». Основным достижением команды был выпуск игры в соцсети «Мой Мир» (Вишневое Казино в Моем Мире).
  • Разрабатывал следующую версию плагина  «Coins Launcher», но до релиза ее не успел довести.
  • Фрилансил.
Источник дохода
Доход
Unity Assets Store plugins
14$
Unity Games for web
0$
Unity Games for mobile
0$
Итого
14$
Как видно из таблицы доходов я в самом начале пути. Мой месячный доход составил 14$ и получил я его путем двух продаж плагина Coins Launcher.

Очень много работы и планов впереди. До встречи в следующем месяце и с наступающим Новым Годом!

Из соцсетей – 4, 2012г

Apr 5, 2012

Notch (создатель Maincraft) делает новую игру. В ней надо будет программировать космические корабли на специально созданном языке программирования (DCPU-16) и заниматься стандартными рпгшными вещами (лутинг, торговля, битвы, крафт, исследования вселенной).
Жду! 🙂

hqdefault

Continue reading “Из соцсетей – 4, 2012г”

Из соцсетей – 3, 2012г

Jan 4, 2012

Ляписы в последние годы прекрасны.
Какая чудесная трансформация группы, солиста и их творчества с течением времени.


Jan 6, 2012
Российские разработчики делают MyBrute с блекджекомишлюхами.
Кто помнит старый добрый майбрут тем сюда: http://musicwars.ru/
Все то же самое только лучше, с квестами, магазинами и free to play’ем.
Анимация и разнообразие боя лучше чем в оригинальном майбруте!
1


Jan 11, 2012
Секрет успеха – пахать нужно!
2


Jan 27, 2012

Ремейк музыки из Донни Дарко под видеоряд смертей из старых игр.

Continue reading “Из соцсетей – 3, 2012г”

Из соцсетей – 2, 2011г

Sep 27, 2011
Visual Studio очень хорошая IDE с множеством удобных решений. Но её разработчикам все таки стоит смотреть другие IDE и перенимать чужие идеи. В Eclipse есть удобная “фича”, я называю ее “контекстно зависимой кареткой”. Во время кодирования бывают случаи, когда вам видны две корретки: первая – стандартная – место куда вставляется набираемый текст, вторая – контекстная – место куда перейдет первая картека при нажатии на кнопку Tab.

К примеру, вы объявляете метод и каретка находится внутри скобок.

Eclipse: чтобы переместить каретку в конец метода и поставить “;” нужно просто нажать Tab и каретка займет место конекстной каретки.

Visual Studio: чтобы переместиться в конец метода и поставить “;” нужно либо мышкой щелкнуть либо использовать стрелочки либо кнопку End нажать. Все эти способы на много дольше выполняются, а используемые при этом кнопки находятся в неудобных местах, я уже не говорю про мышку.

Механизм напоминает создание куска когда по шаблону в Visual Studio когда с помощью Tab’a мы перемещаемся по участку кода и заполняем параметры шаблона. Только в случае Eclipse контекстная каретка появляется на много чаще в самых разнообразных случаях и не плохо ускоряет набор и избавляет от нужды использовать стрелки на клавиатуре или мышку.
Пытался найти плагин для Visual Studio который реализует такое поведение каретки, но поиски прошли безуспешно. Если кто-то видел что-то похожее то дайте знать.

coret_examples Continue reading “Из соцсетей – 2, 2011г”