Ecco un piccolo script in Flash, che ci permette di visualizzare un’immagine in tutte le direzioni, destra sinistra, su e giu per intenderci, seguendo il mouse con effeto frizione.

Il codice ActionScript è molto semplice, in poche parole tramite le coordinate delle ascisse (x) e ordinate (y) l’immagine viene spostata con effetto decellerato nella posizione in cui va il cursore.

Image Scroller in tutte le direzioni

Per l’esempio ho usato un immagine della fortunata serie televisiva Heroes

Le variabili che possiamo gestire per avere una velocità o frizione diversa sono speed e friction che trovate nel evento onClipEvent del clip filmato point

Scarica il sorgente
Guarda il Tutorial

Author

Strategy Director @AQuest ~ Docente Master @NinjAcademy

68 Commenti

  1. carolina

    cè un modo perchè all’ inizio sia fermo e si cominci a muovere solo al passaggio del mouse?

  2. Ciao carolina,

    Entra nel codice AS [tasto rapido F9] seleziona il clip “point”

    poi prova a cambiare l’evento

    onClipEvent (enterFrame)

    in

    onClipEvent (mouseMove)

    ovviamente devi fare delle piccole modifiche ai parametri di movimento che citavo nell’articolo.

    saluti

  3. molto utile per le immagini panoramiche :) c’è un qualche modo per rendere ferma l’immagine con un clic o qualcosa, dopo che questa la si inizia a muovere? :)

    //Nikopolidis

  4. Usando onClipEvent (mouseMove) come dicevo a carolina, l’immagine viene mossa solo quando il mouse si muove sopra il filmato flash, ovviamente si devono settare bene i parametri di frizione…

  5. Julius ma si muove un po’ troppo lentamente… per dire: è un po’ floscio sto movimento. Per renderlo più scattante?

  6. Salve sono un frequentatore del sito e so che lei sa gestire software come flash. Volevo esporle il mio problema perche sui forum non sanno rispondere ecco il problema:
    Io da poco utilizzo flash mi sono cimentato in una presentazione solo che essa non viene centrata dal browser ad esempio mettiamo caso che l’utente utilizza firefox il movie viene caricato in basso a destra questo vale per altri browser quindi in conclusione io vorrei adattare la presentazione flash al browser per far si che essa risulti sempre centrale come posso fare! Grazie

  7. ciao julius volevo kiederti una cosa:

    se io ad esempio volessi mettere tre o più bottoni agli angoli o ai lati dell’immagine e renderli visibili spostando il cursore verso tali lati dell’immagine è possibile?

    io ho provato creando altri 4 tracker(uno per ogni bottone con istanza propria) e mettere l’azione del tracker principale a questi quattro(duplicandola e modificandola) ma non mi viene nulla….

    ti Chiedo disperato aiuto
    e grazie

  8. Vedo di fare questa implementazione, ottima segnalazione se riesco ci scrivo anche un articolo sul link che mi hai segnalato

  9. Ciao Julius,
    si potrebbe avere uno scrolling di un mc? e in che modo?
    ti ringrazio in anticipo

  10. ho realizzato un movieclip visto in parte per mezzo di una maschera dove internamente ci sono tanti altri mini mc, vorrei poter muovere il mc mamma con quell’effetto senza pulsanti.

  11. Apprezzo molto il tuo sforzo per fare queste opere d’arte, la mia richiesta, se e’ possibile era quella di poter caricare una immagine da file esterno con un file xml e di poter mettere immagini anche di diversa grandezza rimanendo sempre nei margini stabiliti. Non sono un programmatore e non utilizzare il macromedia 8 quindi qualsiasi operazione per me rimane molto difficile. Ti ringrazio anticipatamente e come ripeto anche con gli amici, sei un grande.

  12. Ciao Julius,
    ho un di 1888 x 1600 con vista di una casa. vorrei navigare questo ambiente partendo dall’angolo in alto e non dal centro.
    ti ringrazio
    sandro

  13. @sandro ciao

    da progettazione sposta il clip mc_Image (mettiti la lente a 50% da poter vedere bene lo stage completo) in diagonale in basso a destra…

    in questo modo il clip si posizionerà partendo dal angolo in alto a sinistra…

  14. Apprezzo molto il tuo sforzo per fare queste opere d’arte, la mia richiesta, se e’ possibile era quella di poter caricare una immagine da file esterno con un file xml e di poter mettere immagini anche di diversa grandezza rimanendo sempre nei margini stabiliti. Non sono un programmatore e non utilizzare il macromedia 8 quindi qualsiasi operazione per me rimane molto difficile. Ti ringrazio anticipatamente e come ripeto anche con gli amici, sei un grande.

  15. Ciao julius trovo molto utile il tuo sito infatti appena ho l’occasione lo segnalo nei vari 3d nel forum di html.it … scrivo relativamente a questo tutorial vorrei infatti realizzare una cosa di questo tipo http://www.thephb.it/thephb.html il mio problema è che vorrei centrare mc_image sullo stage e quando il mouse va verso dx mc_image si dovrebbe spostare verso sx di 20 px tipo .. se il mouse va a sx mc_image si dovrebbe spostare verso dx di 20px (mc_image è + piccolo dello stage ) ed è registrato al centro… questo è il cod dove sto lavorando

    #include “mc_tween2.as”
    //
    var mouse:Object = new Object();
    _global.MovieClip.prototype.onMouseMove.mouse = _global.MovieClip.prototype.onEnterFrame=function () {
    fallow();
    var Mypic:Number = 1;
    var S:Number = 5;
    var Xpos:Number = Stage.width/2;
    var pos:Number = -512;
    var T:String = “easeoutexpo”;
    mc_Image.hitTest == true;
    mc_Image.alphaTo(100, S, T);
    if (_xmouse>=pos && _xmouse<=Xpos) {
    mc_Image.Xpos = mc_Image.tween(“_x”, (_xmouse*(mc_Image._width-Xpos)/Xpos)*Mypic, S, T);
    //mc_Image.Ypos = mc_Image.tween(“_y”, (-_ymouse*(mc_Image._height-Ypos)/Ypos)*Mypic, S, T);
    updateAfterEvent;
    }
    };
    Mouse.addListener(mouse);

    stop();

    qualche consiglio… :o) Grazie!

  16. ciao e grazie per la risposta ho risolto il problema ora ne ho un’altro non riesco a bloccare l’immagine che scorre io vorrei che dopo 20px verso dx o sx si blocasse.. questo è il cod.. hai qualche consiglio..

    immagine_mc._x = Stage.width/2
    movieh = 400;
    speed = 12;

    immagine_mc.onEnterFrame = function (){

    xpos = _root._xmouse;
    xpos = xpos-(movieh/2);
    this._x = this._x-(xpos/speed);

    }

  17. Ciao Julius! Complimenti davvero per il tuo lavoro. Sei un punto di riferimento soprattutto per chi (come il sottoscritto) di actionscript capisce poco…
    Volevo usare questo tutorial per una mappa di un sito.
    A dire il vero è tutto pronto, ma quando faccio caricare l’swf nel mio mc vuoto del sito in questione mi accorgo che lui adegua automaticamente l’area sensibile a tutto lo stage del sito in cui è richiamato e non mantiene le dimensioni che imposto io nel fla scaricato da te.
    Come posso risolvere?

  18. Grazie J.
    C’è un piccolo problema con il sito e magari potresti indirizzarmi.
    Ho inserito sia la mappa (x localizzare il ristorante nella città) usando questo tutorial, che la lightboxv2.
    In locale vanno entrambi, mentre quando faccio l’uppload del sito va solo la lightbox e la mappa non la carica.
    Ho rispettato la posizione dei file js indicata nei due tutorial, ma mi è venuto il dubbio che ci possano essere dei conflitti…
    Però la cosa strana è che in locale tutto funzioni…
    Hai qualche suggerimento?

  19. Julius porta pazienza ma non riesco a risolvere il problema… puoi dirmi se ti risultano conflitti?

  20. Cavoli… bella notizia.
    Ma che browser hai usato per provarlo?
    Io uso:
    safari 3.1.1
    explorer 7.0.5730.11

    parlo sempre della sezione in flash (quella in html non mi da problemi).

    Grazie!
    Come hai visto ci sono 3 elementi fatti seguendo i tuoi tutorial…
    :-)

  21. ciao Julius,
    se risolvi anche questa mi faccio un tuo busto in bronzo e me lo metto sul camino.

    vorrei che ci fosse nell’area centrale dello stage una “zona franca”.. cioè che l’onMouseMove funzionasse solo se muovi il mouse verso l’esterno. in modo che se ci sono bottoni o altro che accadono al centro li puoi cliccare senza che si muova tutto.
    non so se mi sono spiegato ammodo.

  22. naturalmente grazie! se non ci riesci faccio un pupazzo a forma di julius e lo do in pasto al cane!

  23. @marco pui creare su un livello superiore un clip filmato

    e al passaggio con il mouse sopra poi impostare la tween rallentata o dare un altro effetto

  24. Ciao
    noto con piacere che finalmente potrei trovare qualcuno disposto a risolvere i problemi in flash.
    devo realizzare una galleria immagini come in questa http://www.erwinolaf.com/. Ho risolto lo zoom ma adesso vorrei che la foto fosse navigabile come nel link.
    Puoi aiutare anche me?

  25. Ciao julius
    vediamo se puoi risolvere anche il mio di problema. Devo realizzare una galleria immagini tipo questa http://www.erwinolaf.com/. ho fatto lo zoom ma adesso vorrei che quell’immagine fosse navigabile.
    puoi aiutarmi?
    grazie

  26. In pratica viene caricata in un altro clip la stessa immagine ma ad alta definizione

    nella tua galley puoi inglobare questa applicazione facendo caricare l’immagine ad alta, navigabile…

  27. ciao Julius.. abbi pazienza. io ci ho provato ma non ne sono venuto a capo… come faccio a creare su un livello superiore un clip filmato che quando ci passi sopra non si muove l’immagine?

  28. si può gestire anche la profondità , cioe esiste editare l’asse z?
    o si può fare zoommando quando il cursore si avvicina all’estremità dell’asse delle x cioe all’estrema dx o sx!!
    grazie mille e complimenti sei un mostro

  29. si può gestire anche la profondità , cioe esiste editare l’asse z?
    o si può fare zoommando quando il cursore si avvicina all’estremità dell’asse delle x cioe all’estrema dx o sx!!
    grazie mille e complimenti sei un mostro
    cioè nn so se sono stato chiaro ma si può dare l’effetto di profondita al passaggio del mouse cioè tipo questo stage:http://84.ufc.com/
    grazie mille

  30. Giuliano

    Caro Julius,
    ho apprezzato moltissimo questo tuo tutorial, stavo cercando una cosa del genere da tempo.
    Come si può rallentare lo scrolling? secondo me va un po’ troppo veloce.
    grazie anticipate.

  31. cito da articolo

    Le variabili che possiamo gestire per avere una velocità o frizione diversa sono speed e friction che trovate nel evento onClipEvent del clip filmato point

  32. Julius secondo me Giuliano si riferiva all’altro sorgente contenuto nel file zippato del tutorial.
    In quel caso per modificare la velocità dello scroller basta modificare il parametro S della tween :D

  33. Ciao caro Julius,
    Complimenti per il tuo sito-tutorial!
    mi servirebbe un chiarimento, vorrei poter bloccare la navigazione ai bordi dell’immagine.
    Grazie !! ;-)

Commenti