Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    92

    Più pulsanti , stessa azione.

    CIAO a tutti ho bisogno di un aiutino.
    Suppongo che sia una stupidaggine , comunque...
    Ho uno script di questo tipo :
    pulsante.onRollOver = function(){
    ecc. ecc.
    dove pulsante è il nome dato all'istanza di un pulsante trascinato sullo stage.

    Ho inoltre altri pulsanti sullo stage :
    pulsante2 , pulsante3 ecc. ecc.

    Vorrei evitare di riscrivere tutta la pappardella per ogni pulsante.
    In pratica la funzione che avviene in seguito all RollOver sul pulsante "pulsante" voglio che venga eseguita anche per gli altri pulsanti.

    Spero di essere stato chiaro.

    GRAZIE

  2. #2

    Re: Più pulsanti , stessa azione.

    al tuo pulsante con nome istanza "pulsante" assegni il nome istanza "pulsante1"
    poi nella timeline fai un ciclo for per applicare la funzione a tutti i pulsanti:
    codice:
    function rollover(ID) {
    	ID.onRollOver = function() {
    		s = new String(ID);
    		i = s.charAt(s.length-1);
    		trace(i);
    		testo_txt.text = "pulsante"+i;
    	};
    }
    for (i=1; i<=5; i++) {
    	rollover(_root["pulsante"+i]);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    92
    prima di tutto GRAZIE , poi....

    Premettendo che :
    per il sottoscritto actionscript è come il cinese e che mi sarei immaginato una cosa più semplice , del tipo :
    ( pulsante1, pulsante2 , pulsante3, pulsante4 ).onRollOver = function(){ ecc. ecc. ( TROPPO BELLO PER ESSERE VERO ?! )
    e in questo senso flash proprio non lo capisco perchè a volte mi sembra voglia a tutti i costi rendere complicate le cose più semplici...
    In ogni caso non sono riuscito ad applicarlo alla funzione che mi occorre anche perchè è piuttosto complicata.
    La scrivo per intero così se potessi ancora aiutarmi...
    Specifico che non si tratta di farina del mio sacco ma di uno molto presente sul forum.
    Nel codice actionscript "pulsante" è il nome assegnato al pulsante e "clip" è il nome assegnato al fimato che viene riprodotto "in avanti" passando con il mouse sopra il pulsante e riprodotto "all'indietro" quando il mouse esce dall'area sensibile del pulsante.

    pulsante.onRollOver = function(){
    delete clip.onEnterFrame;
    clip.onEnterFrame = function(){
    if(this._currentframe < this._totalframes){
    this.nextFrame();
    } else {
    delete this.onEnterFrame;
    }
    }
    }
    pulsante.onRollOut = pulsante.onReleaseOutside = function(){
    delete clip.onEnterFrame;
    clip.onEnterFrame = function(){
    if(this._currentframe > 0){
    this.prevFrame();
    } else {
    delete this.onEnterFrame;
    }
    }
    }

    GRAZIE

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    92
    Dimenticavo...
    Il codice che hai scritto vale per un qualsivoglia numero di pulsanti ?
    Te lo chiedo perchè io avrò la necessita di aggiungerne altri.
    Siccome ho letto quel i<=5 non vorrei che determinasse il limite massimo di pulsanti...

    GRAZIE

  5. #5
    Originariamente inviato da zerho
    Dimenticavo...
    Il codice che hai scritto vale per un qualsivoglia numero di pulsanti ?
    Te lo chiedo perchè io avrò la necessita di aggiungerne altri.
    Siccome ho letto quel i<=5 non vorrei che determinasse il limite massimo di pulsanti...

    GRAZIE
    certo che vale per tutti i pulsanti che hai!
    al posto di 5 devi mettere il numero dei tuoi pulsanti.

    appena ho un attimo guardo se riesco ad aiutarti

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    92
    GRAZIE , attendo fiducioso , non ho fretta quindi fai pure con comodo.

  7. #7
    allora, forse basta fare così, ma ora non ho il tempo di provarla.
    codice:
    function azionePulsante(ID) {
    	ID.onRollOver = function() {
    		s = new String(ID);
    		i = s.charAt(s.length-1);
    		trace(i);
    		delete clip.onEnterFrame;
    		clip.onEnterFrame = function() {
    			if (this._currentframe<this._totalframes) {
    				this.nextFrame();
    			} else {
    				delete this.onEnterFrame;
    			}
    		};
    	};
    	ID.onRollOut = ID.onReleaseOutside=function () {
    		delete clip.onEnterFrame;
    		clip.onEnterFrame = function() {
    			if (this._currentframe>0) {
    				this.prevFrame();
    			} else {
    				delete this.onEnterFrame;
    			}
    		};
    	};
    }
    //al posto di n metti il numero dei tuoi pulsanti
    for (i=1; i<=n ; i++) {
    	azionePulsante(_root["pulsante"+i]);
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    92
    Funziona alla perfezione !!!!
    GRAZIE GRAZIE GRAZIE GRAZIE GRAZIE

  9. #9
    Originariamente inviato da zerho
    Funziona alla perfezione !!!!
    GRAZIE GRAZIE GRAZIE GRAZIE GRAZIE
    di nulla !


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.