Sto facendo una gallery fotografica che si popola prelevando le info da un xml. Questa gallery deve scorrere orizzontalmente a dx e sx con velocità variabile. Sto usando uno script trovato in rete ma non sempre funziona bene anche perchè non capisco bene il funzionamento.
nell'oggetto picture viene caricata la gallery. Ora, a seconda della gallery, o scorre facendo una sorta di ciclo infinito, e lo fa in maniera molto fluida, oppure, quando arriva all'"ultima" foto fa una sorta di scatto, riposizionandosi in modo da rompere la continuità. Inoltre, nella versione iniziale e non dinamica della gallery, le foto erano state duplicate due volte, proprio per simulare un movimento infinito senza scatti. Ho però provato a togliere le foto in più e continua a funzionare bene. Invece le foto caricate dinamicamente hanno bisogno di questo "raddoppio". Ho poi provato, con lo stesso codice a cambiare xml e le foto (pur con il raddoppio) ripresentano lo scatto.codice:// ---------------------------------------------- // mouse drags // ---------------------------------------------- startDrag("", true); // ---------------------------------------------- // da settare a mano: // ---------------------------------------------- movieheight = 526; moviewidth = 766; // ---------------------------------------------- // variabili // ---------------------------------------------- w = getProperty("../picture", _width); // ---------------------------------------------- // Drag Speed is INVERSE: ie:numero alto drag lento speed = 80; // --------------------------------------------- // begin drag calculations // --------------------------------------------- xPos = getProperty("", _x); yPos = getProperty("", _y); // ------------------------------------------- // Center the Drag Effect // ------------------------------------------- xPos = xPos-(moviewidth/2); yPos = yPos-(movieheight/2); // ------------------------------------------- // slide <--x--> // ------------------------------------------- setProperty("../picture", _x, getProperty("../picture", _x)-(xPos/speed)); if (Number(getProperty("../picture", _x))<Number(-(w/2))) { setProperty("../picture", _x, -0.01); } else if (Number(getProperty("../picture", _x))>0) { setProperty("../picture", _x, -w/2); }
Come posso fare?

Rispondi quotando