- В этой теме 12 ответов, 3 участника, последнее обновление 3 года, 10 месяцев назад сделано Артём.
-
АвторСообщения
-
9 сентября, 2020 в 21:00 #16296oshoУчастник
Предположим нужно сделать конфигуратор для лестницы. Есть потребность менять в нем модели балясин. Вроде сначала все просто. Заказчик нажимает на иконку с симпатичной балясиной, она закачивается в сцену и клонируется по “заранее купленным местам”… Но посмотрев на итог, заказчику хочется поменять балясину на другую! Он нажимает на иконку с новой балясиной, она закачивается в сцену и клонируется по “заранее купленным местам”, но перед этим нужно удалить все клоны предыдущей балясины… Как их удалить? Или я в принципе пошел не тем путем?
10 сентября, 2020 в 08:41 #16302Mikhail LuzyaninStaffДля этого есть пазл Remove Object.
Вложения:
Вы должны войти для просмотра вложений.Co-founder and lead graphics specialist at Soft8Soft.
10 сентября, 2020 в 09:56 #16310oshoУчастникЭтот пазл я нашел, я просто никак не могу понять, что ему скармливать в названии объекта, что б он все удалил… Сорри, но я не программист, а дизайнер…
10 сентября, 2020 в 10:52 #16311Mikhail LuzyaninStaffЭтот пазл я нашел, я просто никак не могу понять, что ему скармливать в названии объекта, что б он все удалил… Сорри, но я не программист, а дизайнер…
Список имен обьектов через лист. Ну например ваши балясина называлась Balasina то скопированные варианты в зависимости от количеств будут Balasina.000 Balasina.001 Balasina.002 и.п. вот можно их списком и подать в этот пазл.
Co-founder and lead graphics specialist at Soft8Soft.
10 сентября, 2020 в 11:07 #16314oshoУчастникСпасибо, с этим понятно… И еще один вопрос, смещение при клонирование происходит в каких единицах? Если мне нужно сместить мою балясину на 15 см. по одной оси и на 25 см. по другой оси, что нужно вводить при клонировании?
10 сентября, 2020 в 11:23 #16315Mikhail LuzyaninStaffЛучше всего расставить на нужнык местах empty/dummy и перемещать клонирвоанные обьекты к ним используя пазл Snap to.
Co-founder and lead graphics specialist at Soft8Soft.
4 февраля, 2021 в 02:16 #16895АртёмCustomerДобрый! Подскажите пожалуйста, борюсь над реализацией функции удаления клонированного объекта.
Если на нём висит функция when dragged over -drag move, не могу добавить удаление нажатием клавиши, так как тогда она перекрывает перетаскивание и при нажатии объект просто удаляется.
В функции on event of больше возможных действий (например можно сделать удаление не одинарным, а двойным кликом), но она работает только для элементов HTML-интерфейса, при этом пазлы функций клонов в неё вставляются, но она не работает)
Пробовал при клонировании объекта закреплять за ним клона кнопки (через родительское назначение parent to object), которая при нажатии на ней удаляет объект, но это работает только для последнего клона.
Как правильнее это реализовать?
https://yadi.sk/d/8PqzkiV9T4bpig (исходник прототипа)
4 февраля, 2021 в 09:50 #16896Mikhail LuzyaninStaffЕсли на нём висит функция when dragged over -drag move, не могу добавить удаление нажатием клавиши, так как тогда она перекрывает перетаскивание и при нажатии объект просто удаляется.
Не совсем понятно что вы хотите реализовать, если вы хотите удалять по нажатию и оно удаляется, то тогда каоке поведение вы пытаетесь реализовать?
Co-founder and lead graphics specialist at Soft8Soft.
4 февраля, 2021 в 13:31 #16897АртёмCustomerЕсли на нём висит функция when dragged over -drag move, не могу добавить удаление нажатием клавиши, так как тогда она перекрывает перетаскивание и при нажатии объект просто удаляется.
Не совсем понятно что вы хотите реализовать, если вы хотите удалять по нажатию и оно удаляется, то тогда каоке поведение вы пытаетесь реализовать?
Пытаюсь реализовать функцию удаления при нажатии на объекте. Т.е. чтобы объекты можно было не только добавлять и передвигать, но и удалять созданных клонов при необходимости. Не получается сделать из-за того, что при подходе через клонирование кнопки удаления (в виде обезьяней головы) она работает только для последнего клона, для остальных почему-то прикреплённые кнопки клоны не работают.
Как альтернативный вариант пробовал сделать через двойной клик (чтобы функция не конфликтовала с перетаскиванием клонов), но двойной клик можно установить только для ХТМЛ интерфейса
4 февраля, 2021 в 14:22 #16898Mikhail LuzyaninStaffПолучается что для удаления каждого клона вам нужен либо для аждого элемента свою кнопку удаления, либо запоминать выделенный обьект по клику в переменную и его уже выдавать для удаления по кнопке.
Co-founder and lead graphics specialist at Soft8Soft.
10 февраля, 2021 в 01:04 #16905АртёмCustomerМихаил, благодаря подсказанной логике удалось добавить механику удаления добавленных клонов и вращения посредством двух имеющихся в сцене кнопок (suz и suz.001).
Но почему-то не получается эти самые кнопки делать видимыми при нажатии на клона. Для этого даже создал отдельную переменную button_enable. Пытаюсь пазлами объяснить, что когда я кликаю на клона, ей назначается значение “enable”. И далее снаружи процедуры уже через логические блоки пытаюсь показать или спрятать кнопки действия (suz и suz.001) в зависимости от того был нажат или нет клон. Но кнопки не хотят показываться. То ли значение переменной button_enable не может выйти за пределы процедуры cloning, то ли не до конца понимаю как правильно производить присваивания переменным и как они их хранят.Вложения:
Вы должны войти для просмотра вложений.10 февраля, 2021 в 11:19 #16907Mikhail LuzyaninStaffБлок с hide/unhide надо выполнять каждый раз после изменения статуса переменной Button Enable. В данном случае у вас этот блок выполняется единожды при запуске приложения, поэтому то ничего не раскрыается и не прячется.
Co-founder and lead graphics specialist at Soft8Soft.
13 февраля, 2021 в 22:17 #16913АртёмCustomerБлок с hide/unhide надо выполнять каждый раз после изменения статуса переменной Button Enable. В данном случае у вас этот блок выполняется единожды при запуске приложения, поэтому то ничего не раскрыается и не прячется.
Спасибо большое, Михаил! Снова заработало благодаря вашему совету!
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.