Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    menu function rollover e rollout

    salve a tutti
    ho un problema per l'appunto con un menu all'onrollout e vi chiedo aiuto in quanto al momento non ho proprio idea di come risolverlo
    cercherò di spiegarmi il + chiaramente possibile
    ho un movie clip al suo interno ci sono i movie clip che utilizzo come pulsanti ora al momento che passo sopra ad un pulsante si esegue un animazione e la stessa cosa succede all'onrollout solo che se vi passo + volte in modo veloce il movie clip vede il rollover ma non esegue il rollout e quindi il pulsante rimane illuminato ... cosa che io non voglio che accada.. il codice che utilizzo è il seguente:

    uno.onRollOver = function() {
    _root.menu_mc_box.uno_mc.gotoAndPlay("fadein");
    _global.variabile="0";
    };
    uno.onRollOut = function() {
    _root.menu_mc_box.uno_mc.gotoAndPlay("fadeout");
    _global.variabile="1";
    };

    ho provato a inserire una variabile per il controllo e un if all'interno dell'animazione ma non serve a nulla .....

    un esempio del menu se volete vedere il mio problema lo trovate qua :
    link

    grazie per qualsiasi aiuto consiglio vogliate darmi
    Andiamo Avanti Ole!!

  2. #2
    Utente di HTML.it L'avatar di albe66
    Registrato dal
    Sep 2000
    Messaggi
    274
    prova a ricontrollare i frames dei mc dove c'è l'animazione.
    non so da quanti frames è composto, ma secondo me è xchè manca lo script su qualcuno in uscita.


  3. #3
    Un paio di cosette, così come l'hai scritto deduco che tu abbia copiato ed incollato N volte le azioni per quanti pulsanti hai.

    Lo spostamento iniziale con accelerazione ed inerzia non si vede
    o meglio appaiono uno dopo l'altro.


    trattandosi di proprietà di comportamento

    ti suggerisco un


    codice:
    MovieClip.prototype.gestione=function(){
              this.TargX=this._x
              this._x-=600
              
              this.onEnterFrame=function(){
                   X=this.TargX- this._x
                   this._x=this._x + X/5
                   if(X<=0.5){this._x=this.TargX;delete this.onEnterFrame}
              }
    
              this.onRollOut=function(){
                   // azione Alpha Out
              }
              this.onRollOver=function(){
                   // azione Alpha Over
              }
              this.onPress=function(){
                   // azione di comando          
              }
    
    }
    
    
    // quindi assegni i tui pulsanti
    
    M1.gestione()
    M2.gestione()
    ....
    ....
    ....
    M10.gestione()
    ciao

  4. #4
    grazie ad entrambi x la risposta
    cmq albe66 aveva ragione .... dovevo soltanto spostare di un frame il nome della label.... grazie per avermi ricordato quanto flash sià puntiglioso per la precisione sulla posizione dei suoi adorati frame =)
    si vede che non toccavo flash da una vita

    cmq rempox ho letto il tuo esempio e ti ringrazzio tantissimo per il consiglio che sto già per l'appunto usando ho fatto un paio di prove e ho visto che hai aggiunto una cosa che a me non interessava tanto fare ma ti ringrazzio lo stesso

    codice:
    this.TargX = this._x;
    	this._x -= 760;
    	this.onEnterFrame = function() {
    		X = this.TargX-this._x;
    		this._x = this._x+X/5;
    		if (X<=0.5) {
    			this._x = this.TargX;
    			delete this.onEnterFrame;
    		}
    	};
    e ormai che c'è, se ne avrò di bisogno potrò inserirlo tranquillamente =) naturalmente parlo dell'effetto spostamento iniziale con accelerazione ed inerzia uno dopo l'altro..... quello che avevo fatto io era senza alcun effetto era solo una prova per il principale per fargli rendere + o meno l'idea del progetto finale

    cmq solo una curiosità... con il codice che mi hai postato tu:

    codice:
    MovieClip.prototype.gestione=function(){
              this.TargX=this._x
              this._x-=600
              
              this.onEnterFrame=function(){
                   X=this.TargX- this._x
                   this._x=this._x + X/5
                   if(X<=0.5){this._x=this.TargX;delete this.onEnterFrame}
              }
    
              this.onRollOut=function(){
                   // azione Alpha Out
              }
              this.onRollOver=function(){
                   // azione Alpha Over
              }
              this.onPress=function(){
                   // azione di comando          
              }
    
    }
    
    
    // quindi assegni i tui pulsanti
    
    M1.gestione()
    M2.gestione()
    ....
    ....
    ....
    M10.gestione(
    ogni movie clip eseguirà la stessa identica azione ..... ma se ad esempio vorrei fargli aprire un file diverso o come nel mio caso dovessi dargli un percorso per il fade in/out diverso x ogni clip .. come faccio ?

    cioè....

    il fade si trova dentro un clip che è uguale per tutti o quasi... cosi quando si passa di sopra si illumina il clip... il codice che di solito utilizzavo io ad esempio era :

    codice:
    uno.onRollOut = function() {
    _root.menu.uno_mc.gotoAndPlay("fadein");
    ......
    due.onRollOut = function() {
    _root.menu.due_mc.gotoAndPlay("fadein");
    ......
    in questo modo il percorso cambiava di volta in volta e e mi gestisco ogni singola azione dei pulsanti che sicuramente è migliardi di volte + lungo e stressante
    qui invece nel tuo esempio è sempre lo stesso ... come gli dico che ad ogni singola istanza corrisponde un percorso o anke un azione o link diverso?

    dovrei crearmi un listener ?
    o all'interno della function gli metto delle if di controllo ???

    grazie ancora per il vostro aiuto =)
    Andiamo Avanti Ole!!

  5. #5
    ti faccio un esempio per l'onPress

    trattandosi di un menu ad ogni pressione di pulsante corrisponderà una determinata situazione, quindi


    se consideri che i pulsanti hanno un nome, m1.....m10

    puoi intercettare ad esempio la parte numenrica del pulsante e spedirla ad una funzione.

    codice:
    MovieClip.prototype.gestione=function(){
              this.TargX=this._x
              this._x-=600
              
              this.onEnterFrame=function(){
                   X=this.TargX- this._x
                   this._x=this._x + X/5
                   if(X<=0.5){this._x=this.TargX;delete this.onEnterFrame}
              }
    
              this.onRollOut=function(){
                   // azione Alpha Out
              }
              this.onRollOver=function(){
                   // azione Alpha Over
              }
              this.onPress=function(){
                   // azione di comando  
                   // rilevo la parte numenrica del pulsante
                   ID_Menu=substring(this._name,2,1)
                  // la passo ad una funzione
                  gestione_sezioni_menu(ID_Menu)          
              }
    
    }
    
    
    function gestione_sezioni_menu(ID) {
           switch(ID){
              case "1":
                    // azione relativa al pulsante 1
              break;
              case "2":
                    // azione relativa al pulsante 2
              break;
    
            // così per le varie sezioni
             }
    }
    Ciao

  6. #6
    grazie infinite ti debbo un favore =)
    tempo a dietro avevo realizzato qualkosa di simile ma era un menu xml con i listener

    ma questo lo preferisco di gran lunga per la semplicità

    ciauz
    Andiamo Avanti Ole!!

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.