20 Мая 2024, 13:00:29
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Проверка условия внутри цикла
Проверка условия внутри цикла
(Прочитано 10474 раз)
  [1]
Печать
Jon | * | Новичок | Сообщений: 42 | « 28 Июня 2011, 19:58:05 »
Проверка условия внутри цикла |
0
Как проверить выполнение условия в цикле, например навёл курсор на один из объектов созданных при помощи цикла и он исчезает или меняет цвет, остальные остаются неизменными пока до них  не дотронешься.
В примере один из объектов не видно, т.к. его рендер в цикле отключен – это сделано в ручную , а нужно чтоб автоматом, при условии.
Возможно я двигаюсь в неправильном направлении, и хотелось бы почитать что скажут и на какую мысль наведут , более образованные люди.
* Primer isjezaniya.zip (361.66 Кб - загружено 652 раз.)
DFM | * | Новичок | Сообщений: 23 | «Ответ #1 28 Июня 2011, 20:20:37 »
Re: Проверка условия внутри цикла |
1
например можно так, но в таком варианте использовать инерцию для плавного изменения не получится
* Primer isjezaniya2.rar (247.29 Кб - загружено 642 раз.)
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #2 28 Июня 2011, 21:54:25 »
Re: Проверка условия внутри цикла |
2
http://guest3d.wohlnet.ru/forum/index.php?topic=1471.0
Jon | * | Новичок | Сообщений: 42 | «Ответ #3 30 Июня 2011, 21:15:09 »
Re: Проверка условия внутри цикла |
3
Спасибо за примеры! Я подправил один из них и столкнулся с ещё одним затруднением.
Есть пять бочек, при наведении на одну из них , та исчезает и на её месте появляется кубик (осколок), который отлетает в сторону и исчезает. Для анимации кубиков  я использую таймер, который является общим для всех объектов.
Как сделать чтобы при наведении на другие бочки , таймер для их них кубиков начинался с начала?  Как правильно подсоединить таймер?
* Primer isjezaniya GO 2.zip (363.34 Кб - загружено 650 раз.)
Jon | * | Новичок | Сообщений: 42 | «Ответ #4 02 Июля 2011, 08:23:37 »
Re: Проверка условия внутри цикла |
4
Грустный 
Jon | * | Новичок | Сообщений: 42 | «Ответ #5 07 Июля 2011, 09:40:16 »
Re: Проверка условия внутри цикла |
5
Всё тки сам я ничего не могу понять. Зациклился на этих таймерах, может быть в играх делается по другому?  Взрывы бочек, анимация вражеских юнитов, эти объекты все одинаковые, я так понимаю создаются они именно циклами, но как заставить каждый объект делать анимацию только для себя?
Как в цикле создать несколько таймеров и записать их в массив ,чтобы при определённом цикле можно было запустить , как бы свой таймер для каждого созданного циклом объекта?
И вообще я правильно рассуждаю о динамических объектах в циклах?
redis | ** | Пользователь | Сообщений: 89 | «Ответ #6 07 Июля 2011, 16:41:37 »
Re: Проверка условия внутри цикла |
6
Всем привет, у меня такой вопрос как в цикле реализовать канал FastCollisionResponce, тоесть как в цикл засунуть обьекты имещию настройки поиска пути ? В исходных каналах квеста есть пример с поиском пути реализованном на ФастКоллизионРеспонц, как этот пример в цикл засунуть ?
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #7 09 Июля 2011, 00:35:50 »
Re: Проверка условия внутри цикла |
7
Jon
Как реализаван менеджер объектов? Если используешь ОО, то там все просто реализуется. Рекомендую посмотреть, как сделано в квестовом примере с остеройдами.
В любом случае смысл следующий -
Создаешь дополнительные значения в интерфейсе объекта или в таблице.
1. Текущее значение анимации.
2. Целевое значение анимации.
З. Скорость анимации
4. Количество кадров в анимации.
Эта группа значений должна быть уникальной для каждого объекта. Далее по условиям наращиваешь или уменьшаешь текущее значение.
Например, если целевое значение отличается от текущего, значит проверяем оно больше или меньше. Если больше, то к текущему прибавляем дельту, умножнное на скорость и тиккаунт. Таким образом, каждый раз мы увиличиваем текущее значение, пока оно не сравняется с целевым.
Я обычно использовал интервал 0.0-1.0, а потом домножал это значение на количество кадров в анимации.
Тут есть еще один бонус. В случае, когда целевое значение менше текущего, то уменьшая его также плавно, можно проиграть анимацию в обратном направлении. А можно просто присваивать целевое значение, тогда получится резкий возврат в начало таймлайна.

Изменил пример, но так как я не использовал анимированных объектов, а дергал позицию и размер, то параметр количества кадров не понадобился. А так же ничего не делал с проверкой наведения.
* Example GO 3.zip (407.16 Кб - загружено 690 раз.)
« Последнее редактирование: 09 Июля 2011, 21:40:39 от dfx »
Jon | * | Новичок | Сообщений: 42 | «Ответ #8 12 Июля 2011, 08:00:56 »
Re: Проверка условия внутри цикла |
8
Нифига себе примерчик, круто!
dfx - спасибо за этот шедевр!
Буду разбираться!
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #9 12 Июля 2011, 08:35:06 »
Re: Проверка условия внутри цикла |
9
не скучный пример  Подмигивающий
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Проверка условия внутри цикла
Перейти в: