Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: Jon от 28 Июня 2011, 19:58:05



Название: Проверка условия внутри цикла
Отправлено: Jon от 28 Июня 2011, 19:58:05
Как проверить выполнение условия в цикле, например навёл курсор на один из объектов созданных при помощи цикла и он исчезает или меняет цвет, остальные остаются неизменными пока до них  не дотронешься.
В примере один из объектов не видно, т.к. его рендер в цикле отключен – это сделано в ручную , а нужно чтоб автоматом, при условии.
Возможно я двигаюсь в неправильном направлении, и хотелось бы почитать что скажут и на какую мысль наведут , более образованные люди.


Название: Re: Проверка условия внутри цикла
Отправлено: DFM от 28 Июня 2011, 20:20:37
например можно так, но в таком варианте использовать инерцию для плавного изменения не получится


Название: Re: Проверка условия внутри цикла
Отправлено: Ruslan от 28 Июня 2011, 21:54:25
http://guest3d.wohlnet.ru/forum/index.php?topic=1471.0


Название: Re: Проверка условия внутри цикла
Отправлено: Jon от 30 Июня 2011, 21:15:09
Спасибо за примеры! Я подправил один из них и столкнулся с ещё одним затруднением.
Есть пять бочек, при наведении на одну из них , та исчезает и на её месте появляется кубик (осколок), который отлетает в сторону и исчезает. Для анимации кубиков  я использую таймер, который является общим для всех объектов.
Как сделать чтобы при наведении на другие бочки , таймер для их них кубиков начинался с начала?  Как правильно подсоединить таймер?


Название: Re: Проверка условия внутри цикла
Отправлено: Jon от 02 Июля 2011, 08:23:37
:( 


Название: Re: Проверка условия внутри цикла
Отправлено: Jon от 07 Июля 2011, 09:40:16
Всё тки сам я ничего не могу понять. Зациклился на этих таймерах, может быть в играх делается по другому?  Взрывы бочек, анимация вражеских юнитов, эти объекты все одинаковые, я так понимаю создаются они именно циклами, но как заставить каждый объект делать анимацию только для себя?
Как в цикле создать несколько таймеров и записать их в массив ,чтобы при определённом цикле можно было запустить , как бы свой таймер для каждого созданного циклом объекта?
И вообще я правильно рассуждаю о динамических объектах в циклах?


Название: Re: Проверка условия внутри цикла
Отправлено: redis от 07 Июля 2011, 16:41:37
Всем привет, у меня такой вопрос как в цикле реализовать канал FastCollisionResponce, тоесть как в цикл засунуть обьекты имещию настройки поиска пути ? В исходных каналах квеста есть пример с поиском пути реализованном на ФастКоллизионРеспонц, как этот пример в цикл засунуть ?


Название: Re: Проверка условия внутри цикла
Отправлено: dfx от 09 Июля 2011, 00:35:50
Jon
Как реализаван менеджер объектов? Если используешь ОО, то там все просто реализуется. Рекомендую посмотреть, как сделано в квестовом примере с остеройдами.
В любом случае смысл следующий -
Создаешь дополнительные значения в интерфейсе объекта или в таблице.
1. Текущее значение анимации.
2. Целевое значение анимации.
З. Скорость анимации
4. Количество кадров в анимации.
Эта группа значений должна быть уникальной для каждого объекта. Далее по условиям наращиваешь или уменьшаешь текущее значение.
Например, если целевое значение отличается от текущего, значит проверяем оно больше или меньше. Если больше, то к текущему прибавляем дельту, умножнное на скорость и тиккаунт. Таким образом, каждый раз мы увиличиваем текущее значение, пока оно не сравняется с целевым.
Я обычно использовал интервал 0.0-1.0, а потом домножал это значение на количество кадров в анимации.
Тут есть еще один бонус. В случае, когда целевое значение менше текущего, то уменьшая его также плавно, можно проиграть анимацию в обратном направлении. А можно просто присваивать целевое значение, тогда получится резкий возврат в начало таймлайна.

Изменил пример, но так как я не использовал анимированных объектов, а дергал позицию и размер, то параметр количества кадров не понадобился. А так же ничего не делал с проверкой наведения.


Название: Re: Проверка условия внутри цикла
Отправлено: Jon от 12 Июля 2011, 08:00:56
Нифига себе примерчик, круто!
dfx - спасибо за этот шедевр!
Буду разбираться!


Название: Re: Проверка условия внутри цикла
Отправлено: Ruslan от 12 Июля 2011, 08:35:06
не скучный пример  ;)