Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    stoppare l'animazione del pulsante

    ciao a tutti.
    ragazzi ho un aiutino da chiedervi..
    guardate un po' il menu di questo sito
    praticamente il pulsante camiba colore..e fin qui ci siamo.
    però quando il pulsante rimane in rollover, il pulsante rimane "acceso", quindi l'animazione rimane stoppata.
    vorrei fare lo stesso ma mi sto scervellando e non sto riuscendo a far fermare il colore il rollover.
    mi date un suggerimento?
    ang
    non si finisce mai di sperare...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    ciao.

    nel primo frame del filmato inserisci un bottone 'bt' vuoto con una "giusta" dimensione di area sensibile.

    a questo bottone attribuisci il seguente codice:
    codice:
    on(rollOver){
    	_root.mc.gotoAndPlay(2)
    	trace("over " + _root.mc)
    }
    on(rollOut){
    	_root.mc.gotoAndPlay(21)
    }
    aggiungi un livello sulla root e inserisci un movieClip che chiami mc.
    tale movieclip contiene 2 livelli, uno di background e uno di testo, entrambi convertiti in simboli (movieclip).
    nel frame 1 del testo inserisci un testo bianco, nel frame 20 cambi tinta in nero e nel frame 40 lo rimetti bianco.
    stessa cosa, ma colori invertiti, per il background.
    in tutti metti motiontween.
    aggiungi un livello action, sempre in mc, e nei frame 1 e 20 metti stop();

    spero sia tutto chiaro

  3. #3
    si va bene così ma non è perfetto.
    cerco di spiegarmi meglio.

    mettiamo il caso che si passi il mouse sul pulsante in maniera veloce, senza fermarsi sopra.
    cioè si aziona il rollover, ma se l'utente si sposta molto velocemente, si aziona subito il rollout, per cui l'animazione risulta "tagliata", mentre, se osservi bene, l'animazione di quei pulsanti prosegue tranquillamente come se non ci fosse un'azione rollout a rimandarlo all'animazione di ritorno.

    spero di essere stata chiara.

    grazz
    ang
    non si finisce mai di sperare...

  4. #4
    Originariamente inviato da angelaca2
    si va bene così ma non è perfetto.
    cerco di spiegarmi meglio.

    mettiamo il caso che si passi il mouse sul pulsante in maniera veloce, senza fermarsi sopra.
    cioè si aziona il rollover, ma se l'utente si sposta molto velocemente, si aziona subito il rollout, per cui l'animazione risulta "tagliata", mentre, se osservi bene, l'animazione di quei pulsanti prosegue tranquillamente come se non ci fosse un'azione rollout a rimandarlo all'animazione di ritorno.

    spero di essere stata chiara.

    grazz
    ang
    ok dovresti fare in modo doverso x gestire la cosa
    i tuoi pulsanti sono dei mc che haoo quell'effetto

    ad essi associ ad es questo script
    (fatto molto velocemente, quindi si deve ottimizzare)

    on(rollOver){
    _root.mc.gotoAndPlay(2);
    vai=1;
    }
    on(rollOut){
    if(vai=1){
    vai=0;
    _root.mc.play();
    }
    }
    quindi definisci la var vai che controllerai nel mc
    che sarà costituito da 15 frame ad es
    quindi quando il pulsante sarà diventato bianco
    in corrispondenza ci metterai questo x controllare

    if(vai==1){
    stop();
    }

    dovrebbe a questo punto fungere
    nn so se sono stato abbastanza chiaro
    cmq se vuoi posso inviarti il file di es
    ciao
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    oppure potresti fare così:

    crei un movieclip

    frame1 verde frame 10 rosso per es. e gli crei la tua animazione poi lo istanzi myMc

    poi sul frame applichi questa proto

    codice:
    MovieClip.prototype.rollScratch = function() {
    	this.onRollOver = function() {
    		this.onEnterFrame = function() {
    			if( this._currentframe < this._totalframes ) {
    				this.gotoAndStop( ++this._currentframe );
    			}
    			else {
    				delete this.onEnterFrame;
    			}
    		}
    	}
    	this.onRollOut = this.onReleaseOutside = function() {
    		this.onEnterFrame = function() {
    			if( this._currentframe > 1 ) {
    				this.gotoAndStop( --this._currentframe );
    			}
    			else {
    				delete this.onEnterFrame;
    			}
    		}
    	}
    }
    
    //richiami la proto così per ogni istanza dei tuoi pulsanti
    myMC.gotoAndStop(1);
    myMC.rollScratch();


    @crescenzo: ciao Dottò
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    in effetti quello di Enigma è perfetto (figurarsi ). io mi stavo scornando mettendo un casotto di _currentframe per "memorizzare" il livello di sfumatura.

    l'unica cosa che segnalo per evitare errori è che se istanzi il tuo movieclip con il nome myMc devi cambiare nella proto myMC che è scritto con la C maiuscola


  7. #7
    ok ok.
    grazie delle soluzioni. userò quella di crescenzo, perchè è più semplice, ma quello di enigma lo userò per studiare..

    grazz mill
    ciao
    non si finisce mai di sperare...

  8. #8
    Originariamente inviato da angelaca2
    ok ok.
    grazie delle soluzioni. userò quella di crescenzo, perchè è più semplice, ma quello di enigma lo userò per studiare..

    grazz mill
    ciao
    di niente
    si ottiene cmq lo steso effetto con entrambi gli script xrò se impari ad usare le proto (lo script postato da enigma_79) alla fine sono molto più comode


    @enigma_79
    ciao carissimo
    sei sempre un grande li fai
    addirittura studiare
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    scusate l'intervento ma ho guardato il sito e non ci trovo tutto 'sto casino che avete postato

    in pratica non è altro che un'animazione di un elemento grafico con cambio di alpha, con uno stop() al primo frame

    poniamo che sia un'animazione di 100 frame, 50 di "andata" e 50 di "ritorno", sul pulsante non bisogna far altro che scrivere
    codice:
    on (rollOver){
    	if(_currentframe == 1){
    		gotoAndPlay(2);
    	}
    	else if(_currentframe == 50){
    		stop();
    	} else {
    		play();
    	}
    }
    on (rollOut){
    	play();
    }
    non c'è neanche il bisogno di istanziare l'elemento

    poi non ho provato e magari sto sbagliando, ma mi pare sia così

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    Originariamente inviato da and80
    scusate l'intervento ma ho guardato il sito e non ci trovo tutto 'sto casino che avete postato

    in pratica non è altro che un'animazione di un elemento grafico con cambio di alpha, con uno stop() al primo frame

    poniamo che sia un'animazione di 100 frame, 50 di "andata" e 50 di "ritorno", sul pulsante non bisogna far altro che scrivere
    codice:
    on (rollOver){
    	if(_cuurentframe == 1){
    		gotoAndPlay(2);
    	}
    	else if(_currentframe == 50){
    		stop();
    	} else {
    		play();
    	}
    }
    on (rollOut){
    	play();
    }
    non c'è neanche il bisogno di istanziare l'elemento

    poi non ho provato e magari sto sbagliando, ma mi pare sia così
    ciao!

    scusa ma come dici tu, se io sono in Over e vado in out quando l'animazione è circa a metà (es frame 25), e subito dopo torno in over, lui non sa che è al frame 25 e quindi ripartirà dal frame 1. :master:


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.