Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248

    AS2.0 Animazione continua dei pulsanti rollover e rollout

    Ciao, vorrei animare con AS2.0 dei tasti ma con animazione continua, nel senso mettiamo per esempio una semplice scritta la cui animazione consiste nell'allungarsi in altezza, l'animazione consta di 20 fotogrammi, 10 fotogrammi per l'animazione che va da dimensione normale a massima lunghezza (animazione rollover) dal fotogramma 1 al fotogramma 10 e 10 fotogrammi per l'animazione che va dalla dimensione di massima lunghezza a dimensione normale (animazione rollout) fotogrammi da 11 a 20. Come faccio a far si che l'animazione sia continua? Nel senso se faccio rollover e arrivo al fotogramma 5 (quindi a metà animazione) il rollout deve iniziare da 15 e se riprendo deve ricomiciare da 5 il rollover.
    Ho spegato malissimo lo so, ma non ho esempi, se qualcuno magari si è trovatoad affrontere il mio stesso problema e puo' indirizzarmi ad un tutoria o cosa cercare ne sarei grao
    Grazie, Alessandro.

  2. #2
    Non fare l'animazione di rollout, falla solo in avanti e poi fai

    codice:
    clip.onRollOver=function(){
       delete this.onEnterFrame
       this.play()
    }
    
    
    clip.onRollOut=function(){
       this.onEnterFrame=function(){
          if (this._currentframe>1){
              this.prevFrame()
          }else{
             delete this.onEnterFrame
          }
       }
    }

    Praticamente quando fai rollout mandi indietro la timeline dal punto dove si trovava.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248
    Grazie, non ci avevo pensato, poi la provo e ti dico.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248
    Scusa ma il codice non riesco a farlo funzionare, premetto che ho chiamato il movie clip semplicemente clip, copiando il tuo codice nelle azioni mi ha dato il seguente errore:

    codice:
    L'istruzione deve apparire all'interno del gestore on/onClipEvent
    L'istruzione deve apparire all'interno del gestore on/onClipEvent
    l'ho messo negli eventi rollover e rollout in questo modo

    codice:
    on (rollOver) {
    clip.onRollOver=function(){
       delete this.onEnterFrame
       this.play()
    }
    }
    on (rollOut) {
    clip.onRollOut=function(){
       this.onEnterFrame=function(){
          if (this._currentframe>1){
              this.prevFrame()
          }else{
             delete this.onEnterFrame
          }
       }
    }
    }
    ma non parte l'animazione.
    Per forza di cose ho dovuto mettere uno stop(); al primo fotogramma dell'animazione per non farla apparire in automatico, ma anche modificando il codice in questo modo:

    codice:
    on (rollOver) {
    clip.onRollOver=function(){
       delete this.onEnterFrame
       this.play(2)
    }
    }
    cercando di forzarlo al secondo fotogramma (credo), ma nulla, mi sai dire cosa sbaglio?
    Grazie, Ale.

  5. #5
    non scriverlo sulle azioni del clip, ma sulla timeline che lo ospita

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248
    Ma mi sa che sbaglio qualcosa , allora ho creato il clip nominato clip con dentro l'animazione, all'interno sulla timeline, ho usato questo codice
    codice:
    stop();
    clip.onRollOver=function(){
       delete this.onEnterFrame
       this.play(2)
    }
    
    
    clip.onRollOut=function(){
       this.onEnterFrame=function(){
          if (this._currentframe>1){
              this.prevFrame()
          }else{
             delete this.onEnterFrame
          }
       }
    }
    ma nulla, anzi mettendolo sulla timeline non riconosce nemmeno il roll'over

  7. #7
    togli il due da dentro play(), o al massimo fai gotoAndPlay(2)

    ma poi succede che se tu stai tornando indietro e mettiamo sei al frame 6
    quando fai il rollover riparte dal 2, è per quello che avevo messo play.

    (e comunque sopra a tutto fai trace(clip) per vedere se l'istante viene vista)

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248
    mah aggiungendo trace(clip); mi da errore undefined
    Scusa ma volevo chiederti (ti offrirò una birra lo giuro ) tu l'hai provato, perchè comincio a sentirmi un po' stupido, cioè la logica di quello che mi dici l'ho capita ma il fatto di non riuscire a metterla in pratica mi demoralizza alquanto. Ma è AS2.0??? Credo di si altrimenti mi darebbe errore subito no?

  9. #9
    No non l'ho provato, ma se trace(clip) da undefined il codice non c'entra

    Significa che l'istanza "clip" non è in quella timeline e non gli hai dato nome clip.

    (Per caso usi un "button" invece di un movieclip?)

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    248
    NO uso un movie clip, ti dico i passaggi:

    1 Apro un nuovo file flash con as 2.0
    2 Creo un nuovo movieclip a cui do il nome "clip" senza virgolette
    3 Il movieclip "clip" è una semplice animazione di una sfera che si ingrandisce tramite interpolazione, fai 60 fotogrammi
    4 Nel movieclip creo un nuovo livello per l'AS e incollo il codice che mi hai dato
    codice:
    clip.onRollOver=function(){
       delete this.onEnterFrame
       this.play()
    }
    
    
    clip.onRollOut=function(){
       this.onEnterFrame=function(){
          if (this._currentframe>1){
              this.prevFrame()
          }else{
             delete this.onEnterFrame
          }
       }
    }
    5 Torno nello stage e dalla libreria sposto il clip nello stage e gli do istanza "clip" senza virgolette come gli altri
    6 Non funziona (se aggiungo trace(clip) mi da undefined)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.