» it.Tutorial Spreads 2
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

it.Tutorial Spreads 2

English | French | Russian | Japanese | Korean | Mandarin

Il tutorial che segue prevede che tu abbia fatto pratica col tutorial 4: Un IOBox per ogni Situazione (it.Tutorial IOBoxes).

Richiamo

Ora che abbiamo imparato come trattare con gli IOBoxes, approfondiamo la conoscenza su come i nodi si relazionino con gli spreads.

I due esempi ti danno un idea di cosa succeda dentro un nodo se ha a che fare con spreads con differenti SliceCounts.

Un nodo calcola innanzitutto gli SliceCounts di tutti gli spreads che riceve. Poi lo SliceCount maggiore in input viene usato per per lo SliceCount in output. Quindi il minore viene ridimensionato su quello maggiore: per fare questo le slices esistenti vengono ripetute.

Forse questo ti ha confuso, invece che chiarirti le idee, ma spesso spiegare cose semplici può essere difficile. Se sei arrivato/a fin qui, è probabile che tu abbia compreso a grandi linee la logica che sta dietro vvvv, ed il prossimo esempio ti aiuterà ulteriormente.

Gestire senza fatica Istanze Multiple

Supponiamo di avere un nodo RoundRect (GDI) propagato, (spreaded), linearmente lungo l'asse X e che tu voglia che il primo quadrato sia verde ed il secondo rosso.

Cosa faresti se avessi una griglia 5X5 di rettangoli? Forse connetteresti il nodo LinearSpread (Spreads) allo Y input del nodo RoundRect (GDI). Ma ecco cosa otterresti:

Il nodo RoundRect (GDI) si disegna per sole 5 volte, perché lo SliceCount maggiore è pari a 5. La prima coordinata X e la stessa della prima coordinata Y, e così per le altre coppie di coordinate X/Y, risultando in un ordine ascendente.

Naturalmente vvvv dispone di un nodo che ti consente di generare coordinate utili alla costruzione di una struttura a forma di griglia. Prova il nodo Cross (2D) come mostrato qui sotto.

Il nodo Cross (2D) produce in output 25 slices per la X e la Y, coprendo così ogni possibile combinazione delle input slices. Nota come sia possibile aggiustare la distanza tra i rettangoli attraverso il secondo input pin del nodo LinearSpread (Spreads).

Per ultimo aggiungiamo ancora un po' d'interazione. Diciamo che vogliamo conoscere la distanza che c'è tra ciascun rettangolo ed il cursore del mouse. Il nodo all'uopo è Points2Vector (2D) che restituisce la distanza tra due punti. Connetti il nodo come mostrato sotto ed indovina cosa significano quei 25 numeri nello IOBox in basso a destra.

Giusto, il nodo Points2Vector (2D) è così gentile da restituire le 25 distanze di ciascun punto della griglia dalle coordinate del punto in cui si trova il cursore. Adesso mappa queste distanza su una ragionevole lunghezza così che possano essere usate come dimensioni per il nodo RoundRect (GDI). Multimediale, no?

Ora regola lo SpreadCount del nodo LinearSpread (Spreads): non importa quanti rettangoli tu voglia gestire, la patch rimane semplice come la prima che hai costruito.

Ci sono ancora altre cose da imparare sugli spreads, ma per ora basta così. Ogni volta che avrai l'impressione che ti sfugga qualcosa, consulta le sezione del manuale sugli Spreads per ulteriori dettagli.

anonymous user login

Shoutbox

~2d ago

skyliner: the vcard page is assembled by personal settings + user page

~2d ago

lasal: thank you guys but this is to edit the user data, i don't find how to edit the vcard

~2d ago

CeeYaa: @lasal - haha nice - I think it's funny - you should keep it ;) to change - HOME-SETTINGS - PERSONAL SETTINGS

~2d ago

skyliner: @lasal: here?

~2d ago

lasal: who knows how to edit the vcard?

~2d ago

joreg: get started with #vl with this first part of a series of "vl for vvvv users" tutorial: https://discourse.vvvv.org/t/vl-for-vvvv-users-key-differences-1-5/15919 #vvvv

~2d ago

joreg: speak japanese? this looks like a great resource for #vvvv tipsntricks: https://qiita.com/advent-calendar/2017/vvvv

~8d ago

ARTEKLAB: @Patxi7 Awesome!!!