Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163

    Passare una funzione come parametro ?!?!

    Se scrivo così NON VA !!!
    codice:
    MovieClip.prototype.btn = function(act) {
    	this.onEnterFrame = function() {
    		this.doThis(0);
    		this.onRelease = function() {
    			act
    		};
    	};
    };
    my_mc.btn("apri_home()");
    Se invece scrivo così VA !!
    codice:
    MovieClip.prototype.btn = function() {
    	this.onEnterFrame = function() {
    		this.doThis(0);
    		this.onRelease = function() {
    			apri_home();
    		};
    	};
    };
    my_mc.btn();
    PERCHÈ!??? :master:

    -

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Domanda:

    In una funzione è possibile passare come parametro un'altra funzione??

    Es:
    codice:
    my_mc.btn("apri_home()")


    -

  3. #3
    codice:
    MovieClip.prototype.btn = function(act) {
    	this.onEnterFrame = function() {
    		this.onRelease = function() {
    			act.call();
    		};
    	};
    };
    
    my_mc.btn(apri_home);
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Molto bene Lenny, non sapevo di 'call()'

    purtroppo però non va ancora... Uhm... :master:


    -

  5. #5
    hai scritto
    my_mc.btn(apri_home);
    senza virgolette?

    forse il problema dipende dal codice di apri_home
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Affermativo, ho scritto così senza virgolette:
    codice:
    my_mc.btn(apri_home)
    PS:
    forse il problema dipende dal codice di apri_home
    questa è la funzione 'apri_home()':
    codice:
    MovieClip.prototype.apri_home = function() {
    	// funzioni
    	function apri_sfondo() {
    		bkMenu.alphaTo(100, 1, "easeoutcubic", 0, undefined);
    		bkMenu.tween("_width", 190, 0.5, "easeoutcubic", 0);
    		bkMenu.tween("_height", 384, 1, "easeoutbounce);
    		bkMenu.tween("_width", 800, 1, "easeoutbounce", 1.5);
    		logo.tween("_y", 309, 1, "easeoutbounce", 2.5);
    		//
    		bkMenu.lockTween();
    		logo.lockTween();
    	}
    	// esegui
    	if (bk._y>0) {
    		bk.tween("_y", 0, 1, "easeoutquart", 0);
    		bk.tween("_height", Stage.height, 1, "easeoutbounce", 1);
    	} else {
    		bk.tween("_height", Stage.height, 1, "easeoutbounce", 0);
    	}
    	//
    	end_bk = true;
    	//
    	this.onEnterFrame = function() {
    		if (end_bk == true && bk._height>400-1) {
    			apri_sfondo();
    			end_bk = false;
    		}
    	};
    };
    :master: :master:

    -

  7. #7
    come immaginavo...
    hai scritto una prototype e non una semplice funzione;
    se è davvero necessario usare una prototype allora:

    codice:
    MovieClip.prototype.btn = function(act) {
    	this.onEnterFrame = function() {
    		this.onRelease = function() {
    			this[act].call(this);
    		};
    	};
    };
    my_mc.btn("apri_home");

    questa volta le virgolette servono;
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163


    Bravo Lenny! Hai colpito di nuovo!!!

    Questa volta funziona!!!



    PS:
    codice:
    se è davvero necessario usare una prototype
    Faccio così per assegnare con un unico richiamo un paio di funzioni a delle clip filmato.



    -

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    scusate, a distanza di qualche giorno (dopo aver risolto grazie all'aiuto di Lenny il problema a cui fa riferimento il titolo), mi sono scontrato con quest'altro intoppo... innanzitutto il codice:
    codice:
    MovieClip.prototype.btn = function(act) {
    	this.onEnterFrame = function() {
    		this.onRelease = function() {
    			this[act].call(this);
    		};
    	};
    };
    my_mc.btn("apri_home");
    la domanda: come posso fare a passare anche alcuni argomenti della funzione "apri_home" e "apri_menu" dentro la prototype? Più o meno così:
    codice:
    MovieClip.prototype.btn = function(act1(arg1, arg2, arg3), act2(arg1, arg2)) {
    	this.onEnterFrame = function() {
    		this.onRelease = function() {
    			this[act1].call(this);
                            this[act2].call(this);
    		};
    	};
    };
    my_mc.btn( "apri_home (arg1, arg2, arg3)", "apri_menu (arg1, arg2)");
    :master: :master: ... Ciao


    -

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    UP!
    Qualcuno mi potrebbe aiutare?


    :master:


    Grazie!


    -

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.