- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Menu elastico orizzontale
-
perdonami, non vorrei sembrare ingrato ma chiedevo una spiegazione sul perchè non mi funzionava...il fatto è che poi in questo progetto dovrò spiegare "come ho fatto"...eventualmente se potresti mettere un commento nel codice tuo perchè alcuni passaggi non li riesco a capire mi faresti un gran favore...ti prego di scusare la mia ignoranza e la mia insistenza...grazie mille
Fr3d3R!K
-
posso chiedere una cosa che non c'entra niente?! ma perchè in alcune cose realizzate in flash appare quella sorta di "protezione" del filmato?! praticamente appare un reticolo grigio come ci si passa su col mouse e per poter usufruire poi del fimato in flash tocca cliccarci per "DISATTIVARLO"... Come si può fare per realizzare un filmato o un pulsante in flash affinchè non appaia più quella protezione?!
-
@Fr3d3R!K said:
perdonami, non vorrei sembrare ingrato ma chiedevo una spiegazione sul perchè non mi funzionava...il fatto è che poi in questo progetto dovrò spiegare "come ho fatto"...eventualmente se potresti mettere un commento nel codice tuo perchè alcuni passaggi non li riesco a capire mi faresti un gran favore...ti prego di scusare la mia ignoranza e la mia insistenza...grazie mille
Fr3d3R!KLo farei volentieri se avessi il tempo...
Potresti dirmi i passi che non hai capito in modo che ti spiego quelli ?
-
@dummie said:
posso chiedere una cosa che non c'entra niente?! ma perchè in alcune cose realizzate in flash appare quella sorta di "protezione" del filmato?! praticamente appare un reticolo grigio come ci si passa su col mouse e per poter usufruire poi del fimato in flash tocca cliccarci per "DISATTIVARLO"... Come si può fare per realizzare un filmato o un pulsante in flash affinchè non appaia più quella protezione?!
Ciao dummie,
dai un'occhaita qui:
http://www.giorgiotave.it/forum/flash-actionscript/20741-help-protezione-flash.html
-
Grazie Flep, sei sempre un grande!!!
-
questo è il passaggio che non mi è chiaro...ti ringrazio per il tempo che mi stai dedicando so che avrai da fare e non deve essere facile potermi seguire...
this.onEnterFrame=null; center=200; this.onEnterFrame=function(Void):Void { var acc_x:Number=(center-this._xscale)*spring; vel_x+=acc_x; vel_x*=friction; this._xscale+=vel_x; this._yscale+=vel_x; }
grazie e ciao
Fr3d3R!K
-
Ok,
this.onEnterFrame=null;
quì fermo e azzero l'intervallo onEnterFrame che l'evento onRollOut ha fatto partire.this.onENterFrame=function
quì faccio ripartire l'intervallo onEnterFramevar acc_x:Number=(center-this._xscale)*spring;
quì inizia la legge fisica dell'inerzia.
Creo una variabile che contenga sempre un valore numerico. Center è 200 (il doppio dell'_xscale della clip) a cui viene sottratto l'_xscale della clip e il tutto moltiplicato per spring. In questo caso spring è .1, quindi sarebbe come dire diviso 10 (/10).vel_x+=acc_x;
quì finisce la legge fisica dell'inerzia, per cui aggiungo ogni volta il valore ottenuto da acc_x (che non è altro che l'accelerazione fisica) ad un numero che in questo caso è 100 (perchè vel_x è 100).vel_x*=friction;
quì riproduco la frizione e cioè faccio in modo che il valore vel_x vada sfumando fino a fermarsi. Sarebbe come scrivere vel_x=vel_x*friction;this._xscale+=vel_x;
this._yscale+=vel_x;
alla fine do in pasto il valore di vel_x all'_xscale e _yscale della clip.
-
scusami se ti disturbo ancora ma non mi funziona...tu questo codice l'hai messo nel movieclip giusto? perchè io l'ho messo nel movieclip alla quale voglio dare l'azione e mi da diversi errori del tipo
Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 1: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var clip:MovieClip=this.clip_mc;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 2: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var spring:Number=.1;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 3: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var friction:Number=.9;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 4: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var center:Number=200;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 5: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var center2:Number=100;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 6: L'istruzione deve apparire all'interno del gestore on/onClipEvent
var vel_x:Number=100;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 7: L'istruzione deve apparire all'interno del gestore on/onClipEvent
clip._xscale=vel_x;Errore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 8: L'istruzione deve apparire all'interno del gestore on/onClipEvent
clip.onRollOver=function(Void):VoidErrore Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 21: L'istruzione deve apparire all'interno del gestore on/onClipEvent
clip.onRollOut=function(Void):VoidTotale errori ActionScript: 9 Errori segnalati: 9
potresti aiutarmi in quest'ultimo passaggio (magari anche se puoi postando il sorgente di quello che hai fatto così lo confronto col mio...)
grazie
ciaoedit: pensando fosse quello errore ho cambiato il nome istanza del mio simbolo in clip ma senza risultato...
-
Devi scrivere quel codice sulla timeline
-
ok scritto come azione sul primo (e unico) frame del primo (e unico) livello e non da errori ma non funziona ugualmente (nessun effetto)...tu di preciso come hai fatto?
-
up
-
Hai chiamato la movieclip:
clip_mc ?
-
si ma il problema è che non va nel senso che l'effetto "agisce" solo su una voce...nel mentre ti scrivo sto anche io cercando di capire il perchè (forse il this che si riferisce ad ogni singolo clip)...ho provato a distribuire i clip su livelli diversi...ho provato cambiando il this con il nome dei clip (chiamato tutte le voci clip_mc)...ma non va...ecco il risultato...
http://img74.imageshack.us/my.php?image=barra2mo8.swf
mi scuso perchè ti sto facendo perdere così tanto tempo ma non sto riuscendo proprio a venirne a capo...
Fr3d3R!K
-
per gestirla su tutti i clip chiama ogni voce rispettivamente clip_mc1 clip_mc2 e racchiudi il codice suggerito da flep in una funzione passandogli come parametro il nome del clip. esempio:
function applica_elastico(clip_mc) {
var clip:MovieClip=clip_mc;
var spring:Number=.1;
var friction:Number=.9;
var center:Number=200;
var center2:Number=100;
var vel_x:Number=100;
clip._xscale=vel_x;
clip.onRollOver=function(Void):Void
{
this.onEnterFrame=null;
center=200;
this.onEnterFrame=function(Void):Void
{
var acc_x:Number=(center-this._xscale)spring;
vel_x+=acc_x;
vel_x=friction;
this._xscale+=vel_x;
this._yscale+=vel_x;
}
}
clip.onRollOut=function(Void):Void
{
this.onEnterFrame=null;
center2=100;
this.onEnterFrame=function(Void):Void
{
var acc_x:Number=(center2-this._xscale)spring;
vel_x+=acc_x;
vel_x=friction;
this._xscale+=vel_x;
this._yscale+=vel_x;
}
}
}per richiamare questa funzione
rispettivamente subito dopo averla dichiarata scrivi.applica_elastico(clip_mc1)
applica_elastico(clip_mc2)
applica_elastico(clip_mc3)
applica_elastico(clip_mc4)Per simulare meglio l'effetto è meglio allineare l'istanza al centro rispetto al punto di registrazione
spero puo' esserti d'aiuto
ciao
-
l'effetto funzionava, c'era una cosa "brutta", cioè il fatto che quando si animava il pulsante occupava la profondità minore "occultandosi" alla vita ma ho risolto con il mio fidato swapdepths...
se dovesse servire il codice è ```
this.swapDepths(_root.getNextHighestDepth());una cosa...ma è normale che tutti mi facciano l'effetto verso sinistra mentre l'ultimo "dritto" giusto? (per mancanza di spazio perchè l'ultima voce l'ho messa quasi attaccata alla fine dello stage)... per l'esempio... http://i3.photobucket.com/albums/y94/f3D3rK/barraa.swf?t=1173293995 questa non è una vera e propria domanda...solo una curiosità...se volete potete anche riservarvi dal rispondere siete stati anche troppo gentili...non vorrei fare la figura di colui che se ne approfitta... grazie infinitamente infiniti Fr3d3R!K p.s. eventualmente se i mod o gli admin lo ritengono necessario il topic si può anche chiudere in quanto raggiunto lo scopo della sua apertura...
-
Tieni il punto di registrazione delle clip al centro.