» Ударим Спредом по бездорожью
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Ударим Спредом по бездорожью

English | French | Japanese | Italian | Korean | Mandarin

Этот урок подразумевает, что вы выполнили упражнения из урока 4: Подробнее об IOBoxes.

Повторение - мать учения!

Теперь, когда мы разобрались с IOBoxes, пришло время еще раз взглянуть на то, как можно работать со спредами.

Эти два примера показывают нам, как интерпретируются значения двух спредов с разным количеством слайсов. Обратите внимание что в первых двух и последних двух результат оказался одинаковым, несмотря на разные входные данные.

Все ноды сначала проверяют количество слайсов всех входящих спредов. Из спреда с максимальным количеством слайсов определяется количество слайсов для выходного спреда. Затем остальные спреды последовательно повторяются пока количество слайсов не совпадет.

Предыдущий параграф может обескуражить больше, чем помочь в понимании предмета. Ничего страшного. Это из серии тех вещей, которые проще показать, чем объяснить.

  • И правда все очень просто.

Давайте просто взглянем на следующие примеры. Все должно встать на свои места.

Удобство использования нескольких спредов

Предположим, вам понадобился RoundRect (GDI), линейно распределенный по оси X, и теперь вы хотите, чтобы квадраты были поочередно зеленого и красного цвета.

А теперь попробуем сделать сетку из 25 квадратов 5х5? Первое что приходит в голову, просто подцепить еще один LinearSpread (Spreads) ко входу Y на RoundRect (GDI). Но вот что получится:

RoundRect (GDI) по-прежнему рисует себя только 5 раз. Это проиходит потому что максимальное количество слайсов в спреде = 5. Слайсы по оси X совпадают со слайсами по оси Y.

Благо в vvvv уже есть нод, специально написанный для создания сетчатых структур. Поставьте Cross (2D) так же, как показано на скриншоте.

Cross (2D) генерирует все возможные сочетания входных слайсов и выдает по 25 слайсов для осей X и Y. Обратите внимание, что расстояние между квадратами можно регулировать вторым входом в LinearSpread (Spreads).

В заключение давайте снова добавим немного интерактива. Скажем, мы хотим знать расстояние от каждого квадрата до курсора мышки. И снова находится нод для подобных вещей: Points2Vector (2D) считает расстояние между 2 точками. Соедините ноды как показано ниже и подумайте, чо означают эти 25 цифр в нижнем справа IOBox.

Верно. Points2Vector (2D) показывает нам расстояние от курсора для всех 25 квадратов. Теперь масштабируем эти расстояния до разумных размеров и привязываем к размеру RoundRect (GDI). Это и называется мультимедиа.

Теперь увеличьте количество слайсов в LinearSpread (Spreads) и вы все поймете. Не важно, сколько у вас объектов на экране - патч остается таким же простым как в самом начале.

Конечно, это далеко не все, что можно рассказать о спредах, но на сегодня вы свободны. К тому же вы всегда можете изучить help-патчи категории Spreads самостоятельно.

anonymous user login

Shoutbox

~14h ago

metrowave: @marlonossiliere, Win10 is fine, also see: best practices when using bootcamp

~23h ago

marlonossiliere: I have a Macbook pro mid 11, 13 inches, what windows is the best for bootcamp installation?

~2d ago

joreg: your 2017 numbers have landed: vvvv-in-numbers-2017 #vvvv #vl

~3d ago

joreg: final part of "vl for vvvv users" series of video tutorials is now up: https://discourse.vvvv.org/t/vl-for-vvvv-users-spread-of-spread-5-5/16028 #vvvv #vl

~4d ago

joreg: another one for the weekend: part 4/5 of: vvvv for vl users. all about loops: https://discourse.vvvv.org/t/vl-for-vvvv-users-spreads-vs-spreading-pt-2-4-5/16027 #vvvv #vl

~5d ago

joreg: one for the weekend: rc3 for beta36 is out: beta36-release-candidate #vvvv #vl

~5d ago

fibo: Wine v3 has Direct11 support https://www.winehq.org/news/2018011801