|
26.03.2016, 08:46
|
#1
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Into Orbit
Into Orbit
Шаблонная игра, где необходимо на ракете вылететь на орбиту, до SimpleRockets далеко, и не было желания сделать ее клона.
Главная цель - выйти на орбиту, что довольно затруднительно, так как управление не из приятных, не хватает топлива и всякий летающий хлам мешается.
Графическая составляющая на 3, так как все же рисовать просто так не получается, нужен какой-то навык, но со временем попробую все привести к одному стилю.
Управление нажатием по краям экрана, чем ближе к центру - тем медленней поворачивается ракета. При больших углах невозможно развернуть обратно из-за вращательного момента, созданного давлением на боковую поверхность.
Система прокачки:
- CONE - обтекатель, чем он круче, тем меньше сопротивление, тем быстрее разгон и ниже вращающий момент.
- Fuel - топливый бак, чем он круче, тем медленнее тратится топливо. Вначале это 8% в секунду.
- Engine - двигатель, чем круче - тем выше подъемная сила. Так как g=10, а масса ракеты 10, то начальная сила = 102H. Максимум - 110H
- Stab - стабилизаторы. Чем круче - тем меньше горизонтальная скорость.
Что еще необходимо сделать:- Система прокачки ракеты, меню уже есть, но так как нету спрайтов - не работает. - Сделано!
- Придумать куда деть топливную панель. - Под индикатор высоты
- Нарисовать и ввести новые объекты. В плане: вертолет, самолет, облачко с молнией, космический мусор на высоте > 120 км
Скачать с SlideME (старая версия)
Скачать с GoogleDrive
GooglePlay аккаунтом не обзавелся вовремя, теперь дорого, так что как более-менее презентабельная версия будет, то кто-нибудь выложит.
ОБНОВЛЕНО(31.03)!- Изменена механика "полета" ракеты
- Перерисованы некоторые объекты
- Добавлены некоторые эффекты и объекты
- Добавлено управление гироскопом
- PixelPerfect, не больших экранах будет маленькая ракета. Оптимизированно под 960 и 1280.
Скрины (устарели):
Последний раз редактировалось RegIon, 31.03.2016 в 20:20.
Причина: Обновление
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо RegIon за это полезное сообщение:
|
|
26.03.2016, 19:56
|
#2
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
UPD: - Рабочая система прокачки, конфигурация и бюджет сохраняются
- Unity ADS
- Небольшая оптимизация, подрисовал UI
Ссылка: https://goo.gl/NpJ5xy
Понял, что когда дофига UI элементов, то очень сложно их всех обновлять.
PAX, как вы работаете с UI, есть какой-то скрипт менеджер, который обновляет текст, иконки и т.д, или есть какой-то компонент-слушатель у элемента, привязанный к определенной переменной и он обновляется при ее обновлении? (я так хотел сделать, но нельзя же вроде узнать о изменении поля класса без проверки, или можно?)
|
(Offline)
|
|
26.03.2016, 21:15
|
#3
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Into Orbit
Сообщение от RegIon
я так хотел сделать, но нельзя же вроде узнать о изменении поля класса без проверки, или можно?
|
Можно сделать так если я тебя правильно понял.
private double _seconds; public double Seconds{ get { return _seconds; } set { _seconds = value; } }
В set {} например можно вызывать функцию перерисовки или даже условие запилить типа:
set { if(value == true) { Debug.Log("Ololo"); } }
get - https://msdn.microsoft.com/ru-ru/library/ms228503.aspx
set - https://msdn.microsoft.com/ru-ru/library/ms228368.aspx
|
(Offline)
|
|
26.03.2016, 22:19
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Into Orbit
Концептуально, абстрактно от языков - решение от Nex лучшее.
Ещё можно велосипедить с многопоточностью* и отслеживанием через указатель*, но запаришься решать проблемы с синхронизацией ("ABA","состояние гонки" и проч), блокировками и атомарностью операций.
*- без понятия: в каком виде это реализовано в Юнити
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
26.03.2016, 23:23
|
#5
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Get/set конечно хорошо, но это все равно получать ссылку на объект и различные классы для различных переменных.
Тогда проще в апдейте обновлять, проверяя на изменение. (Перерисовка текста довольно тяжёлая )
|
(Offline)
|
|
27.03.2016, 09:43
|
#6
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: Into Orbit
В обычном C#, это делается через биндинги и INotifyPropertyChanged.
https://msdn.microsoft.com/ru-ru/lib...vs. 110).aspx
Весь WPF на этом построен.
Однако в unity старый как говно мамонта mono, так что не скажу наверняка сработает ли это там.
__________________
|
(Offline)
|
|
27.03.2016, 20:30
|
#7
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Никак не могу понять как ограничить скорость перпендикулярную оси направления.
Двигается с помощью AddForce, из-за этого очень сильно разгоняется перпендикулярно оси UP при малейших поворотах вектора приложенной силы, что хотелось бы ограничить. Что-то туплю.
Кусок кода, в котором уже нету того, что могло бы ограничить скорость:
var force_vector = transform.up; force_vector *= (rocketConfig.forceMultiplier * 10f + 100f);
_rigid.AddForce(force_vector);
float airPres = (1f - rocketConfig.airDragRotate) * transform.right.y * _rigid.velocity.magnitude * 0.15f; _rigid.AddTorque(-direction * maxRotSpeed * rocketConfig.horizontalStability + airPres); _rigid.angularDrag = rocketConfig.horizontalStability * maxRotSpeed;
Раньше просто ограничивал _rigid.velocity.x, но не знал, что он в мировых координатах, и по этому по X он совсем переставал двигатся, а по Y ускорялся.
UPD. Сделал кастыль - меняю rigidbody.drag линейно зависимо от скорости по X, более-менее устраивает поведение.
Последний раз редактировалось RegIon, 27.03.2016 в 21:32.
|
(Offline)
|
|
27.03.2016, 23:07
|
#8
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Into Orbit
Тут наверно поможет Rigidbody2D.angularDrag ну или Rigidbody2D.angularVelocity.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.03.2016, 23:19
|
#9
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Обновил. Подробности в шапке. Ссылка: http://goo.gl/IDHJfF
UPD. Русую более качественные спрайты всякой фигни:
Последний раз редактировалось RegIon, 30.03.2016 в 15:12.
Причина: Обновление
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.03.2016, 20:20
|
#10
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Обновил.
Подробности в шапке.
Скачать: https://goo.gl/bbyvJw
Было бы неплохо, если бы поигрались и отписались результатом.
|
(Offline)
|
|
04.04.2016, 23:44
|
#11
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Поздравьте меня, я приобрел аккаунт Google Play developer, жду одобрения публикации!
Не могу менять шапку.
Ссылка GooglPlay Into Orbit
Тестовая версия 0.5.1t, довольно много правок. BetaTest
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
Последний раз редактировалось RegIon, 05.04.2016 в 20:02.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо RegIon за это полезное сообщение:
|
|
05.04.2016, 06:38
|
#12
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Into Orbit
Сообщение от RegIon
Поздравьте меня, я приобрел аккаунт Google Play developer, жду одобрения публикации!
|
Поздравляю! Теперь надо всегда помнить, что девелопер акк, ютуб канал и почта связаны и если где то накосячить, то все могут разом забанить.
Кстати линк на игру в маркете можно сразу выкладывать правда можно будет зайти по нему только после одобрения публикации.
|
(Offline)
|
|
05.04.2016, 14:41
|
#13
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Into Orbit
"Будь проклят тот день, когда я сел за баранку этого пылесоса!"
Тяжко летать. Прочёсывая небо из стороны в сторону подобрал горючку, но улетел за экран! Абидна.)
Кнопка "жмяк" наверное не уместна.
Цвета приятные, кроме серых менюшек.
Ещё у тебя размер проги всего 11мб. Забиваешь на x86 процы?
|
(Offline)
|
|
05.04.2016, 18:00
|
#14
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Into Orbit
Сообщение от Жека
"Будь проклят тот день, когда я сел за баранку этого пылесоса!"
Тяжко летать. Прочёсывая небо из стороны в сторону подобрал горючку, но улетел за экран! Абидна.)
Кнопка "жмяк" наверное не уместна.
Цвета приятные, кроме серых менюшек.
Ещё у тебя размер проги всего 11мб. Забиваешь на x86 процы?
|
Не придумал как предупреждать игрока о том, что он рядом с границей. Вот все говорят что сложно, а мой сосед постоянно выше верхнего предела вылетает, я из-за него постоянно пытаюсь балансить мощность и скорость потери горючего.
Есть идея миникарты в виде пикселей, где показаны объекты (любого типа одинакового) и границы, относительно ракеты в определенном радиусе
На какой тогда сменить, а то мне кажется, что я гот какой, всегда темное делаю?
Да, хотел отдельно билды под платформы делать, но не нашел куда пихать билд под x86. Не охота раздувать до 40метров, не охота создавать копию приложения, но под другую платформу. Или придется что-то выбрать?
Там косяк с акселерометром, я усредню каждые 10 тактов его значение, думал от флуктуаций значения избавит. Избавляет, но резко не развернуть, и если косо всегда держать, то смещается точка нуля. И все забываю калибровку вставить.
Последний раз редактировалось RegIon, 05.04.2016 в 19:21.
|
(Offline)
|
|
06.04.2016, 05:26
|
#15
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Into Orbit
В экспорте под андроид просто выбрать 2 проца. Получишь около 24мб прогу. Да и всё.
Миникарта прикольно.
Ещё может при старте давать ракете небольшой рывок вверх?
Щас если при старте есть наклон то при взлёте сразу взрываешься.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:30.
|