Возможна ли ошибка в итераторе Quartz Composer?
При добавлении патча итератора в окно редактора я вижу только патч с 1 входом (итерации). Если я попытаюсь взорвать этот патч для просмотра подпатчей макроса, я получу пустое окно редактора (тот же результат, если дважды щелкнуть патч). Инспектор патчей просто показывает индекс итераций (по умолчанию 10).
Если у патча нет выходных данных, и я не вижу подлатчи, как мы на самом деле должны использовать патч итератора? Я понимаю, что еще один патч, называемый переменными итератора, помогает в этом, но я все еще не понимаю, как я могу использовать итератор, если у него нет выходных данных.
Я посмотрел в Интернете, и есть несколько учебных пособий по теме итераторов QC, но все они используют более старые версии OS X / Xcode - когда все работает иначе, и, конечно, выглядит иначе, чем я вижу.
Я также видел странное поведение со средством просмотра QC - оно не всегда обновляется, чтобы показать изменения, которые я сделал в редакторе, мне приходилось выходить из QC и перезапускаться, чтобы время от времени видеть обновления. Журналы ошибок в консоли не показывают много в способе регистрации ошибок. Возможно, QC для Lion не работает?
Я попытался удалить QC и загрузить новую копию, но все еще вижу тот же результат. Любое понимание высоко ценится.
Возможно, я полностью упускаю мысль об итераторах, и я думаю, что они позволяют пользователю повторять эффекты из других патчей, перебирая значение индекса, но опять же, если у итератора нет выходных данных, и я не могу видеть его внутри, я просто не могу понять, как использовать итераторы.
Я использую MacBook Pro на процессоре 10.7.3 Lion & Intel 2.3 GHz i5.
1 ответ
Простое руководство по итератору:
- Открыть пустую композицию
- Добавить Очистить патч
- Добавить исправление Iterator
- Спуститесь в патч Iterator, дважды щелкнув тело патча (не название)
- Добавить исправление Iterator Variables
- Добавить патч линии
- Подключите выход "Текущая позиция" патча Iterator Variables к входу "Начальная позиция Y" патча Line
Это демонстрирует:
- Все, что находится внутри патча Iterator, выполняется несколько раз (независимо от того, какой вход для "Iterations" патча Iterator установлен в)
- Патч Iterator Variables предоставляет контекст внутри Iterator (т. Е. Где вы находитесь в текущей последовательности итераций)
- Патч Iterator не нуждается в выходных данных для рендеринга
Также возможно публиковать выходные данные из патчей в Iterator (щелкните правой кнопкой мыши патч, перейдите в меню "Опубликовать выходы"). Из-за ограничений в реализации QC вы можете публиковать результаты только тогда, когда внутри Iterator (или любого другого макроса) нет патчей рендерера (синего цвета).
Когда вы публикуете выходные данные из итератора, внешние патчи видят только значение из последней итерации. Чтобы обойти это, вы можете использовать патч Queue внутри Iterator, чтобы создать структуру, которую вы затем можете опубликовать.
Вы должны получить что-то похожее на это: