Flash: slideshow su e giù non mi funziona

Ciao a tutti, problemone! (flash mx)
ho creato una slideshow verticale che scorre verso l'alto e verso il basso per mezzo di due pulsanti sopra e sotto che rimangono invisibili. Questa slideshow è un clip in una scena, ed il tutto l'ho strutturato così:


- sulla scena, su un layer al primo frame ho inserito questo (al frame numero 3 uno stop):

Stage.scalemode = "noscale";
// next and back by assoultra
MovieClip.prototype.go = function(v) {
if (v == "stop") {
delete this.onEnterFrame;
}
this.onEnterFrame = function() {
if (v == "next") {
frame = this._currentframe+1;
final = this._totalframes;
}
if (v == "back") {
frame = this._currentframe-1;
final = 1;
}
this.gotoAndStop(frame);
if (this._currentframe == final) {
delete this.onEnterFrame;
}
};
};


- ho dato al clip slideshow un'istanza sulla scena "mc"
- il pulsante che la fa' scorrere verso il basso è all'interno del clip ed ha queste azioni:

on (rollOver) {
play();
}
on (rollOut) {
stop();
}


- il pulsante sulla scena invece ha queste azioni:

on (rollOver) {
// su
mc.go ("back")
}
on (rollOut) {
// su
mc.go("stop");
}


Il tutto funziona, ma non come dovrebbe; se faccio scorrere la slideshow verso il basso va' bene (pulsante dentro al clip), se la faccio scorrere verso l'alto va anche bene (pulsante sulla scena), se tolgo il puntatore dall'area attiva dei pulsanti (invisibili) il clip si ferma e posso cliccare sulle immagini.
Il PROBLEMONE è che se per esempio a metà del clip io voglio far scorrere nuovamente le immagini verso il basso non succede nulla, devo per forza far scorrere verso l'alto ed aspettare che si riavvolga il clip per poter far scorrere il tutto nuovamente verso il basso.

Qualcuno saprebbe aiutarmi, ci ho ragionato su davvero tanto ma non ne sono arrivato a capo!!! :-|

 Luca_Don, N.D.

Hoprovato a fare una cosa diversa, ora funziona ma non mi si ferma quando finisce la slide (continua a spostarla all'infinito!)
Come faccio a dirgli che si deve fermare quando è finita????
ho inserito questo sul primo frame della scena:

SU.onRollOver = function()
{
onEnterFrame = function()
{
mc._y-=4
}
}
SU.onRollOut = function()
{
delete onEnterFrame
trace("ok")
}


GIU.onRollOver = function()
{
onEnterFrame = function()
{
mc._y+=4
}
}
GIU.onRollOut = function()
{
delete onEnterFrame
trace("ok")
}

 Luca_Don, N.D.

aggiungere le coordinate di fine corsa

SU.onRollOver = function()
{
onEnterFrame = function()
{
mc._y-=4;
if(mc._y <=0){//cambia il numero in base alle coordinate
mc._y=0;
delete onEnterFrame;
}

}
}
SU.onRollOut = function()
{
delete onEnterFrame
trace("ok")
}


Comunque la funzione rollOver te la sconsiglio è imperfetta
se tu passi velocemente sopra il pulsante a volte il rollOut
non funziona, è meglio la funzione hitTest conosci?

 max_400, N.D.

Grazie molte per i suggerimenti!
Comunque hai ragione, il rollOver infatti poi mi ha dato noie. Ho provato a fare un'altra cosa (non so se è quella che intendi tu), praticamente ho fatto in modo che al passaggio del mouse (e a seconda di dove si trova il puntatore), la slide inizia a scorrere. E' stato complicato, ma mi pare che funzioni. Purtroppo ora non ho con me lo script che ho inserito, magari poi lo posto.
Intanto grazie ancora!! ;-]

 Luca_Don, N.D.
001design.it ® è un marchio registrato.
© 2004-2017 Molfese Paolo - P.Iva: 03430820617 - All rights reserved | Tutti i diritti sono riservati.