Результаты поиска
| |
Cmaujluk | Дата: Среда, 20 Января 2016, 19:45 | Сообщение # 21 | Тема: UI ЭвентТриггер,получение данных от button вызывающего метод |
участник
Сейчас нет на сайте
| Цитата beril ( ) посмотри эти видео там 3 реализации есть, может чето подойдет Спасибо, займусь этим завтра.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| | |
Cmaujluk | Дата: Среда, 20 Января 2016, 18:29 | Сообщение # 23 | Тема: UI ЭвентТриггер,получение данных от button вызывающего метод |
участник
Сейчас нет на сайте
| Всем привет.
Столкнулся проблемой, в гугле очень много информации, но всё старо как мир. В unity 5.3 кое-что поменялось. Есть одна проблема и решается она двумя способами, по крайней мере я придумал 2. Суть в чем, есть UI кнопка, и нужно получить данные этой кнопки когда вызывается метод при нажатии этой кнопки. Разработчики добавили один эвент OnClick, но не подумали о других почему-то.. С OnClick выходит так
Код button.onClick.AddListener(delegate { OpenLitter(button.name);} Передаем имя кнопки в метод.
Вариант хороший, но срабатывает на ОТЖАТИИ мышки, мне же нужно чтобы срабатывало СРАЗУ при клике. Можно делать через игровые объекты и void OnMouseDown() но хотелось бы контролировать все из одного скрипта.
Нашел вариант Event Trigger -> Select, естественно
Код button.onSelect.AddListener(delegate { OpenLitter(button.name);} Не работает.
Вопрос как цепануть эвент Select кодом, или если делать это в инспекторе, что в принципе очень просто, как получить информацию из обекта вызывающего метод? Что-то вроде:
Код public void info() { Debug.Log(this.name); } Т.к. это главный скрипт, метод берет имя контроллера к которому и прикреплен скрипт, а надо чтобы брал имя кнопки, в общем что-то не выходит ничего придумать. Пришел за помощью на форум. С меня как всегда +.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Воскресенье, 17 Января 2016, 02:20 | Сообщение # 24 | Тема: Уничтожение объекта А при столкновении с объектом Б |
участник
Сейчас нет на сайте
| Немного не по теме, но в том же ключе. Если выстрелов будет много, создание и удаление объекта очень "тяжелое" дело и грузит систему. Предлагаю использовать систему пулов. Что представляет из себя система пулов? Вы создаете заранее, скажем, 50-100 объектов и они все выключены. Когда вам нужно выстрелить, вы куском кода выбираете выключенный объект, включаете его, передаете все параметры(скорость, время исчезание и т.д.) и запускаете, но вместо удаления снова выключаете его, тем самым экономя ресурсы системы. https://www.assetstore.unity3d.com/en/#!/content/28002 - Бесплатный ассет, очень прост в обращении. К нему прилагает мануал как добавлять в пул, как включать и выключать, рекомендую.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Воскресенье, 17 Января 2016, 02:11 | Сообщение # 25 | Тема: Моргание UI текста |
участник
Сейчас нет на сайте
| Цитата poopkin ( ) Проблема решена? В каком-то роде, выяснилось что моргает только на моём устройстве, на huawei. Как по мне, китайцы свои андроиды пишут, поэтому такие глюки, на других устройствах все отлично.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Суббота, 09 Января 2016, 20:47 | Сообщение # 26 | Тема: Проблема с программным созданием событий UI |
участник
Сейчас нет на сайте
| Цитата OpenGOO ( ) delegate(int i){ WindowShopInsetChange( i ); } Так не работает
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Суббота, 09 Января 2016, 20:06 | Сообщение # 27 | Тема: Проблема с программным созданием событий UI |
участник
Сейчас нет на сайте
| Цитата YellowAfterlife ( ) В первую очередь нужно было попробовать заменить возвращаемый тип функции на тот, который оно просит. Это работает. Обновил код в моем ответе. И правда, я попробовал Events.UnityAction Т.к. UnityEngine подключен, но оно не сработало, а UnityEngine.Events.UnityAction зашло. Спасибо за ответ, Вы мне очень помогли.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Суббота, 09 Января 2016, 19:09 | Сообщение # 28 | Тема: Проблема с программным созданием событий UI |
участник
Сейчас нет на сайте
| Цитата YellowAfterlife ( ) Action GetWindowShopInsetChange(int i) { Хорошая попытка, но к со жалению не работает. Насколько я знаю
Цитата YellowAfterlife ( ) .onClick.AddListener Эвент принадлежащий юнити, от сюда ошибка компилятора Ошибка CS1503 Аргумент 1: не удается преобразовать из "System.Action" в "UnityEngine.Events.UnityAction".
Добавлено (09 января 2016, 19:09) --------------------------------------------- Попробовал и так
Код ShopInsets[i].onClick.AddListener(delegate { GetWindowShopInsetChange(i); }); Тоже не выходит.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
Сообщение отредактировал Cmaujluk - Суббота, 09 Января 2016, 19:11 |
|
| |
Cmaujluk | Дата: Суббота, 09 Января 2016, 18:00 | Сообщение # 29 | Тема: Проблема с программным созданием событий UI |
участник
Сейчас нет на сайте
| Всем привет. Скажу сразу случай тяжелый, требуется эксперт). Программируя эвент нажатия UI кнопки столкнулся с одной проблемой.
Код int i = 0; ShopInsets[i].onClick.AddListener(delegate {WindowShopInsetChange(i); }); i = 1;
Что тут происходит: ShopInsets[i] - Выбираем кнопку из массива, кнопка захеширована (.GetComponent<Button>()) Далее на эвент onClick т.е. клик мышкой назначаем метод delegate {WindowShopInsetChange(i); } delegate используется для того, чтобы метод можно было использовать с параметром (i), иначе работать отказывается. В чём собственно вопрос и почему такой кусок кода. Если мы кликнем мышкой по кнопке то в метод уйдет цифра 1, а не 0. Если же мы используем за место i просто число
Код ShopInsets[i].onClick.AddListener(delegate {WindowShopInsetChange( i ); }); Заменим i на 0 и получим
Код ShopInsets[i].onClick.AddListener(delegate {WindowShopInsetChange( 0 ); }); То в метод нормально передастся ноль при клике на кнопку. Как я понял, компилятор передает не текущее значение поля i, а берет ссылку на i Вопрос. Есть возможность заставить компилятор взять число из поля i? Если кнопок много то прогнать все циклом куда проще чем прописывать все вручную. Заранее спасибо, с меня +.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Вторник, 05 Января 2016, 07:24 | Сообщение # 30 | Тема: Параметра отображение GUI элементов |
участник
Сейчас нет на сайте
| Цитата Ranger ( ) http://docs.unity3d.com/ScriptReference/GUI-depth.html Спасибо =*
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Вторник, 05 Января 2016, 03:25 | Сообщение # 31 | Тема: Параметра отображение GUI элементов |
участник
Сейчас нет на сайте
| Пилю под мобильные устройства, дрожу над каждым методом, все кэширую и оптимизирую, в действие которое выполняется до 20 раз за секунду выполнять такую операцию это безумие) ждём гуру, мб посоветуют ещё чего
Добавлено (05 января 2016, 03:25) --------------------------------------------- Постараюсь понятнее описать, при клике на врага отображается нанесенный ему урон. В целях оптимизации я не стал делать систему спавна/удаления объектов, а сделал пулл менеджер из n объектов которые задизейблины, как только нужно показать урон мы активируем какой-то объект и передаем в него кол-во урона и он уже отображается на экране, спустя m секунд объект снова выключается. Проблем в том что чем "свежее" урон, чем позже он активирован, тем он глубже, и получается так, что новый урон как бы уходит под старый. Выглядит это не очень, по этому пришел за советами на форум.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
Сообщение отредактировал Cmaujluk - Вторник, 05 Января 2016, 03:43 |
|
| |
Cmaujluk | Дата: Понедельник, 04 Января 2016, 15:23 | Сообщение # 32 | Тема: Параметра отображение GUI элементов |
участник
Сейчас нет на сайте
| Проблема в том что объектов может быть очень много, разных цветов, и каждому переназначать цвет это ужс по производительности)) Нужно понять как выводить только что включенные объекты на передний план
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Понедельник, 04 Января 2016, 15:03 | Сообщение # 33 | Тема: Параметра отображение GUI элементов |
участник
Сейчас нет на сайте
| Всем привет!) Поздравляю всех с новым годом, давненько не заглядывал сюда. Привел меня один вопрос на который у гугла ответа не нашлось. Представим есть некоторое количество объектов, например 2, A и Б. Объекты идентичны, в каждом скрипт отрисовка текста в одних и те же координатах через void OnGUI=>GUI.Label(), разница лишь в цвете текста(разные стайлы) Пусть при запуске мы видим тест объекта А, если объект А выключить и включить то увидим текст объекта Б, текст объекта А спрячется за текст объекта Б. Если проделаем то же самое с объектом Б станет видно текст объекта А. Мне же нужно получить инверсию. Т.е. Я объект выключаю, затем включаю, и отображается текст этого объекта. Знает кто-нибудь что-нибудь по этой теме? За ранее спасибо и с меня как всегда плюсик+++
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Понедельник, 05 Октября 2015, 13:27 | Сообщение # 34 | Тема: Как разбить семью или проблема детей и их родителей |
участник
Сейчас нет на сайте
| Цитата Ranger ( ) http://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html Таким способом все равно не возможно подогнать, при небольшом уменьшении экрана объект уезжает, специально затестил. Максимум что можно выжать это в апдейте чекать, но это "тяжело".
Что сказать. Я отчаялся. Придется передавать не один объект а массив объектов как аргумент, или пилить второй необязательный аргумент. В любом случаи спасибо всем кто отписался, прошу прощения за кипишь.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Понедельник, 05 Октября 2015, 11:32 | Сообщение # 35 | Тема: Как разбить семью или проблема детей и их родителей |
участник
Сейчас нет на сайте
| Цитата Ranger ( ) ну а зачем кубы к кнопкам чилдами-то делать?? Для удобства переключения вкладок (кнопок меню) чтобы передавать всего лишь 1 аргумент, а дочерних может быть миллион хоть куб, хоть камера, да без разницы что, я это расписывал.
Цитата Ranger ( ) закинь туда твои кубы через инспектор Это можно сделать и через инспектор и через код кэшом, но мне это не надо, если у меня объектов миллион? С разными тегами и названиями? Тут даже foreach'ем не цепануть их, и не задизейблить. Писать метод на миллион строк и миллион объектов закидывать через инспектор? Цитата Ranger ( ) если правильно сделать(а не подгонять константы), ничего и никуда не уезжает Код MainCube_Transform.position = new Vector3(0-Screen.width/1.5852f, 0 - Screen.height / 2.2731f, 0); Тем самым подгоняя куб в нужную точку камеры. Есть другие варианты?
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Понедельник, 05 Октября 2015, 04:54 | Сообщение # 36 | Тема: Как разбить семью или проблема детей и их родителей |
участник
Сейчас нет на сайте
| Пилю все дело под Android. Цитата Ranger ( ) 1. руками (в скрипте я имею в виду) подгонять transform куба под экран Пробовал, выверял формулы с константами с точностью до 0.0001, если в телефоне вытащить нижнюю панель(на некоторых тлф) то куб уезжает.
Цитата Ranger ( ) пользовать worldspace в канвасе Сам канвас начинает багать, и не все элементы корректно отображаются.
Цитата nedash ( ) По подробней объясните суть что Вам надо зделать Цитата nedash ( ) Эм, а зачем вообще игровой обьект делать дочерним к элементам интерфейса?
У меня есть N кнопок которые инициализируются экземпляром класса, у каждой кнопки есть гетсеты имени, цвета и т.д. В том числе каждой кнопке назначен свой игровой объект который она включает если активирована, и выключает если выбрана другая кнопка. Т.е. это что-то типа меню, но кнопки не исчезают, а включают тот объект который им назначен. В моем случае это UI кнопка и у неё в дочерних находится куб Т.е. когда я нажимаю кнопку меню, появляется ещё 1 кнопка с дочерним кубом, нажму другую кнопку появится что-то другое, а кнопка и дочерний куб на время задизейблятся, дочерние объекты используются для того, чтобы легко управлять SetActive передавая всего лишь 1 аргумент в метод кнопки меню(саму кнопку с дочерними ему объектами).
Спасибо за ответы, но решения пока не нашел и помощь ещё требуется.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Воскресенье, 04 Октября 2015, 09:18 | Сообщение # 37 | Тема: Как разбить семью или проблема детей и их родителей |
участник
Сейчас нет на сайте
| Всем привет!) Не мог назвать тему по другому так как она выражает всю суть.
Если объект (например куб) находится в свободном плаванье (в иерархии) то нормально отображается в камере. Но если его закинуть в дочерние к другому объекту (в моем случаи панели которая сама находится в канвасе), то объект начинает кататься в камере при изменении размера окна, есть какие нибудь пути объяснить объекту чтобы он перестал катался вместе с родителями? Была идея создать свободный объект и в апдейте все время переназначать координаты, но это не подходит, ибо это "тяжело". Выслушаю любые, даже самые бредовые идеи, заранее спасибо. С меня как всегда +.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Вторник, 15 Сентября 2015, 09:41 | Сообщение # 38 | Тема: Пару вопросов по юнити |
участник
Сейчас нет на сайте
| Цитата KamiRonin ( ) по оффлайн фарм можно фиксировать время выхода игрока в PlayerPrefs и при загрузке просто рассчитывать добытые ресурсы от разницы во времени.. может так.. Найс идея. С UI попробую сегодня, спасибо!
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |
Cmaujluk | Дата: Понедельник, 14 Сентября 2015, 19:33 | Сообщение # 39 | Тема: Пару вопросов по юнити |
участник
Сейчас нет на сайте
| Всем привет! Пишу новый проект и появились новые вопросы, надеюсь на помощь, с меня как всегда +++.
Вопрос первый(UI): У меня есть какая-то область размера NxM нужно в ней разместить картинку и справа от неё текст в пример можно привести массу стратегий, например в варкрафте значок дерева и справа его кол-во или в героях 5 ресурсы и рядом их кол-во. Пробовал создать панельку(UI) на неё повесить horizontal layout group и 2 дочерних - картинка и текст p.s. картинка квадратная. На первый взгляд все работает, но если текст очень длинный то картинка уменьшается до микроскопического размера. Попытка на картинку зацепить aspect ratio fitter результат появился, картинка не уменьшается, но уходит за экран(смещается) при длинном тексте. Если кто-то сталкивался молю, подскажите.
Вопрос второй: Во многих играх на Android есть так называемый оффлайн фарм. Вы выходите из игры, а когда возвращаетесь вам пишут - за время вашего отсутствия было собрано столько-то золота. Есть ли вариант реализации этого без возможности жульничать - менять дату на телефоне и не цепляя базу данных т.е. человек заходит, его сессия обрабатывается, инфа считывается с БД и проверяет сколько его не было. Время имеет значение т.к. планируется выдавать ежедневные награды.
Извините за стену текста пытался описать все подробно во избежание недопонимания.
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
Сообщение отредактировал Cmaujluk - Понедельник, 14 Сентября 2015, 19:34 |
|
| | |
|