- Home
- Categorie
- Digital Marketing
- Web Marketing e Content
- Help per galleria fotografica....
-
Ti scrivo uno script di partenza che ti può aiutare a capire la logica del movimento che vorresti.
Crea una movieclip.
Istanziala 6 volte nello stage di Flash e chiamale clip_0_mc, clip_1_mc, clip_2_mc, ecc ecc.Imposta il frame rate a 31.
Seleziona il primo frame, apri il pannello azioni e scrivi:var Clips:Array=new Array(clip_0_mc,clip_1_mc,clip_2_mc,clip_3_mc,clip_4_mc,clip_5_mc); for(var i:Number=0;i<Clips.length;i++) { Clips*._x=10+Clips*._width*i+50*i; Clips*._y=Stage.height/2; Clips*.onRollOver=function():Void { trace('rollover'); } Clips*.onRelease=function():Void { trace('released'); } } this.onEnterFrame=function():Void { var speed:Number=(Stage.width/2-_xmouse)*.08; for(var i:Number=0;i<Clips.length;i++) { Clips*._x+=speed; } }
-
Ok ci proverò. Grazie 1000. TI farò sapere.
Ciau
-
Ok l'ho capito, ed ho imparato il ciclo for
Ora quello che intendevo io è molto simile al tuo sito actionscript.ws, e cioè che le cartelle ruotano in senso cirolare allontanandosi in profondità.
Si ottiene sempre tramite codice?
-
Si ottiene solo tramite codice
Lo script delle cartelle che ho fatto necessita di un'avanzata conoscenza di actionscript.
In più devi applicare trigonometria e fisica ad actionscript.Da quanto ho capito hai appena concepito un semplice ciclo for per cui penso sia al momento impossibile che tu riesca a capire quello script
Non ti voglio offendere ne peccare di presunzione.L'input te l'ho dato.
Di certo non posso regalare gli scripts che creo, non trovi ?
-
Hai già fatto troppo, sei stato molto gentile, non volevo assolutamente chiederti lo script, ma appunto solo se continuava ad essere usato codice. Non c è problema, non mi sono offeso, sono agli inizi e sto imparando, grazie anche al tuo aiuto.
Grazie infinite.
Ciao
-
Prego,
studia lo script che ti ho dato fino a capirlo perfettamente.
Poi prova a personalizzarlo un po.
Se ti serve una mano in qulche cosa che non ti è chiara...io sono quì...
-
Ciao, ho applicato il tuo codice alla mia galleria e funziona tutto; ora il mio problema è come fare a ripetere l'array in modo che le immagini non finiscano e dopo che l'ultima è finita si rivede la prima. Si può fare?
Grazie
-
Allora potrebbe diventare così:
import flash.geom.Point; var Clips:Array=new Array(clip_0_mc,clip_1_mc,clip_2_mc,clip_3_mc,clip_4_mc,clip_5_mc); var Points:Array=new Array(); var distance:Number=30; var width:Number=Clips[0]._width; for(var i:Number=0;i<Clips.length;i++) { Clips*.id=i; Clips*._x=distance+width*i+distance*i; Clips*._y=Stage.height/2; Clips*.onRollOver=function():Void { trace('rollover'); } Clips*.onRelease=function():Void { trace('released'); } } for(var i:Number=0;i<Clips.length+2;i++) { var point:Point=new Point(-width+width*i+distance*i,Clips[0]._y); Points.push(point); } this.onEnterFrame=function():Void { var n:Number; var speed:Number=(Stage.width/2-_xmouse)*.08; for(var i:Number=0;i<Clips.length;i++) { Clips*._x+=speed; if(Clips*._x>=Points[Points.length-1].x) { n=Clips*._x-Points[Points.length-1].x; Clips*._x=Points[0].x+n; } if(Clips*._x<=Points[0].x) { n=Points[0].x-Clips*._x; Clips*._x=Points[Points.length-1].x-n; } } }
In questo caso se la _x di ogni singola clip è maggiore o minore di un certo punto si rimette in posizione di partenza.
Oppure hai un'altra soluzione, tieni tutte le clips all'interno di una clip che funge da contenitore e muovi solo questo contenitore.
-
CIao Flep, per assegnare un link ad ogni clip che scorre, come fare?
-
Aggiungi un Array:
var Links:Array=new Array('pic_0.jpg','pic_1.jpg','pic_2.jpg','pic_3.jpg');
e poi sull'evento onRelease:
Clips*.onRelease=function():Void { trace(Links[this.id]); }
-
Grazie Flep, provo..................
-
X schil: