Comsigli per creare un intero sito in Flash - Ultimi Inserimenti
Comsigli per creare un intero sito in Flash - Ultimi Inserimenti
Comsigli per creare un intero sito in Flash - Ultimi Inserimenti
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
// al rilascio<br />
on (release) {<br />
// setta colore <strong>in</strong> rettangolo come giallo<br />
rettangolo.colore.setRGB( 0xFFCC33 );<br />
// smetti di trasc<strong>in</strong>are il movieclip f<strong>in</strong>estra<br />
stopDrag ();<br />
}<br />
La f<strong>un</strong>zione che viene richiamata, e che sta nel primo frame del filmato, al livello della timel<strong>in</strong>e pr<strong>in</strong>cipale, è questa:<<br />
f<strong>un</strong>ction swap (nome) {<br />
if (alto != nome) {<br />
_root[nome].swapDepths(++num);<br />
_root[alto].rettangolo.colore.setRGB( 0x999999 );<br />
alto = nome;<br />
}<br />
}<br />
La f<strong>un</strong>zione riceve il nome del movieclip contenente il pulsante da cui arriva la chiamata: se questo nome è diverso da<br />
quello contenuto nella variabile alto, (e qu<strong>in</strong>di lo stesso pulsante non esegue questa azione due volte di seguito), allora<br />
mette il movieclip f<strong>in</strong>estra <strong>in</strong> cima alla lista dei livelli dei duplicati, mentre cambia <strong>in</strong> grigio il colore del rettangolo <strong>in</strong><br />
quello precedente.<br />
Piccola digressione: i duplicati di <strong>un</strong> movieclip, vengono posizionati <strong>in</strong> livelli assimilabili ai level dei filmati. Ogni<br />
duplicato deve stare <strong>in</strong> <strong>un</strong> livello diverso dagli altri: se <strong>un</strong> duplicato viene posizionato <strong>in</strong> <strong>un</strong> livello dove ne è già<br />
presente <strong>un</strong> altro, quest'ultimo lascia il posto al nuovo arrivato. Inoltre, come nei level, il livello con il valore più elevato<br />
copre quelli con il valore <strong>in</strong>feriore.<br />
La sequenza di numeri che rappresentano i livelli <strong>in</strong> cui sono posizionati i movieclip, determ<strong>in</strong>a l'ord<strong>in</strong>e di<br />
"impilamento", e il livello determ<strong>in</strong>a la profondità del movieclip. Con lo swapDepths(), alla base della f<strong>un</strong>zione, si<br />
possono scambiare due movieclip di livello: se lo eseguo su <strong>un</strong> movieclip sul livello 3, e su <strong>un</strong>o sul livello 10, il primo<br />
andrà al livello 10, e il secondo al livello 3. Non solo, è possibile anche assegnare ad <strong>un</strong> movieclip il livello su cui<br />
posizionarsi, senza dover prendere il posto di <strong>un</strong> altro.<br />
La variabile num, presente nella f<strong>un</strong>zione, contiene proprio il numero dei livelli <strong>in</strong>iziali: se all'a<strong>per</strong>tura del filmato ho<br />
stabilito di avere 3 f<strong>in</strong>estre, num sarà uguale a 3. Quando richiamo la f<strong>un</strong>zione swap dal movieclip presente nel livello<br />
1, il valore di num viene aumentato di <strong>un</strong>a <strong>un</strong>ità, e diventa 4: allora il movieclip da cui viene la chiamata, viene<br />
posizionato nel livello 4, sopra tutti gli altri (il più alto stava nel 3). La volta dopo, il movieclip chiamante verrà<br />
posizionato nel livello 5, poi <strong>in</strong> quello 6, e così via.<br />
Questo sistema presenta dei vantaggi e degli svantaggi. E' il più semplice <strong>in</strong> assoluto, ed è efficace, non presentando il<br />
bug proprio dello swap depth tra due movieclip (se ho tre movieclip, dal basso verso l'alto l'<strong>un</strong>o, il due, e il tre, e<br />
scambio di profondità il primo con il terzo, il primo andrà <strong>in</strong> cima, ma il terzo andrà <strong>in</strong> fondo: <strong>in</strong> W<strong>in</strong>dows non è così,<br />
poiché la f<strong>in</strong>estra cliccata va <strong>in</strong> cima, ma la sequenza di tutte quelle dietro resta <strong>in</strong>alterata).