23 Сентября 2024, 02:27:34
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Логика > GUI и for loop
GUI и for loop
(Прочитано 7694 раз)
  [1]
Печать
AngelPOPs | * | Новичок | Сообщений: 24 | « 15 Февраля 2011, 17:29:36 »
GUI и for loop |
0
Нужно вывести много buttons, их кол-во беру из массива.
Через for loop повторяю со смещением.
Все вроде ок, только на наведение и клик реагирует только последняя button-ка.
Нид хелп.
Можно было бы просто накидать в ГУИ контейнер тучу кнопок, но как-то массивно, неудобно и главное, что кол-во кнопок может меняться.
ЗАранее благодарен.
→|๖ۣۜDen|← | ***** | Администратор | Ветеран | Сообщений: 570 | «Ответ #1 15 Февраля 2011, 21:03:17 »
Re: GUI и for loop |
1
Наведение естесственным образом влияет на последний элемент массива, потому что последний становится текущим.
Чтобы реакция была на любой элемент массива, нужно тут же сетить текущую величину (какую - в моём примере определяет ДетектМаусКолижн) какой-либо величине, которая будет отвечать за номер выделенного объекта.

* DetectMouseCollision Logic.JPG (47.32 Кб, 924x817 - просмотрено 2256 раз.)
Corpic | * | Новичок | Сообщений: 23 | «Ответ #2 15 Февраля 2011, 21:24:44 »
Re: GUI и for loop |
2
Я эту проблему решил у себя в проекте через ОО. Только стоит помнить, что большое количество баттонов (или других элементов встроенного ГУИ) слишком тормозят. Лучше самостоятельно прописать в ОО координаты предполагаемых кнопок, их рисунки и т.д. В моем случае "массив" из 25 кнопок стал работать в 80 раз быстрее (судя по миллисекундам на фрейм).
AngelPOPs | * | Новичок | Сообщений: 24 | «Ответ #3 16 Февраля 2011, 02:55:57 »
Re: GUI и for loop |
3
To Den:
Во. Решил проблемку именно так. Взял координаты курсора и сравнил с координатами кнопочек и получил куррент интегрэйшон.
От туда и полпясал.

To Corpic: ОО я еще не осилил. Я от простого к сложному Улыбающийся
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Логика > GUI и for loop
Перейти в: