Flash: pulsanti a fine scroll

Di: baxa | 26/09/2020 18:28:19
Ciao a tutti,
ho realizzato uno scroll con Flash 8 e mi piacerebbe che alla fine dello scroll il pulsante “scrolla avanti” sparisse così come all’inizio non fosse visibile il pulsante “scrolla indietro”.
Spero ci sia qualcuno così gentile da darmi una mano.
Per completezza aggiungo l’action script dello scroller e del pulsante avanti.
Scroller:
onClipEvent (load) {
fine = _x;
frame =3;
}
onClipEvent (enterFrame) {
inizio = _x;
spostamento = (fine-inizio)/frame;
_x += spostamento;
}
Pulsante:
onClipEvent (mouseDown) {
if(this.hitTest(_root._xmouse,_root._ymouse,false)){
if (_parent.i < 9) {
_parent.scorrimento.fine -= 520;
_parent.i++;
}
}
}
Grazie.

Risposte



Basta aggiungere una condizione nelle action del pulsante,
se la posizione dello scroller è diversa da quella iniziale setti la proprità _visible del pulsante a 0, stessa cosa quando lo scroller si trova nella posizione finale.
Guardando il codice mi sembra di capire che lo script dello scroll non è completo perché fa riferimento ad altri script posizionati fuori dal MC in questione, immagino sia uno scroll per un MC contenente immagini realizzato con una maschera, se si trattasse di un semplice scroll di testo, c'è un modo più semplice per realizzarlo.
http://www.001design.it/forum_italiano/thread.php?id=876

Di: goku | 26/09/2020 18:29:19


Intanto ti ringrazio molto per la tua risposta Goku.
Sì, hai ragione si tratta di uno scroll di immagini con una maschera.
Nella mia richiesta di aiuto non ho specificato che sono alle prime armi e quindi ho delle difficoltà a scrivere lo script che mi hai suggerito. Saresti così gentile da essere più chiaro? Abbi pazienza.
Grazie

Di: baxa | 26/09/2020 18:29:19


Avrei bisogno di vedere il file, cmq cercherò di spiegarti come fare.
Non devi far altro che torvare le coordinate iniziali e finali del clip che fai scorrere, puoi farlo inserendo il comando trace(_x); nel tuo codice:
onClipEvent (enterFrame) {
inizio = _x;
spostamento = (fine-inizio)/frame;
_x += spostamento;
trace(_x);
}
in questo modo vedrai la coordinata ad ogni spostamento dello stesso clip, come dicevo prima a te interessano quella iniziale e quella finale.
Fatto questo devi aggiungere le condizioni:
onClipEvent (enterFrame) {
inizio = _x;
spostamento = (fine-inizio)/frame;
_x += spostamento;
//trace(_x);
if(_x==coordinata iniziale){
percorso tuo pulsante1._visible=0;
}else{
percorso tuo pulsante1._visible=1;
}
if(_x==coordinata finale){
percorso tuo pulsante2._visible=0;
}else{
percorso tuo pulsante2._visible=1;
}
}
ovviamente devi sostituire il percorso dei tuoi pulsanti, se non sai di cosa sto parlando da un'occhiata qui:
http://www.001design.it/forum_italiano/thread.php?id=187
e inserire i valori delle coordinate.
Per semplificarti le cose, tutto quello che è in rosso va sostituito con i giusti parametri.

Di: goku | 26/09/2020 18:29:19


Grazie Goku,
ho individuato le coordinate iniziale(135.2) e finale (-4024.7) ed ho inserito lo script che mi hai suggerito ma i pulsanti non spariscono. E' evidente che ho tralasciato qualcosa.
Forse sarebbe più semplice se tu potessi vedere il file.
Come faccio ad inviarlo?

Di: baxa | 26/09/2020 18:29:19


Devi individuare il percorso dei pulsanti, per maggiori chiarimenti guarda il link che ti ho postato, cmq se i pulsanti si trovano sulla root, il percorso sarà:
_root.nome tuo pulsante._visible=0;
per dare un nome all'istanza del pulsante devi andare nella barra delle proprietà.

Di: goku | 26/09/2020 18:30:19


Ho provato con ogni tipo di percorso, relativo e assoluto ma niente, non succede niente. Lo scroll funziona sempre ma i pulsanti non spariscono. Pazienza lo lascerò così.
Grazie Goku del tuo tempo.
Forza Azzurri.

Di: baxa | 26/09/2020 18:30:19


Ci sono riuscito!
Sarà stata la Nazionale
Ecco lo script che dovevo aggiungere allo scroll:
if (_parent.i==1) {
_root.Scrolla_indietro._visible = 0;
}else{
_root.Scrolla_indietro._visible = 1;
if (_parent.i==9) {
_root.Scrolla_avanti._visible = 0;
}else{
_root.Scrolla_avanti._visible = 1;
Dove 1 e 9 sono i fotogrammi iniziale e finale.
Grazie comunque Goku per avermi indicato la direzione.

Di: baxa | 26/09/2020 18:30:19