Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: semplificare script

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272

    semplificare script

    salve gente!
    ho provato con le function ma sono ancora un pò acerbo...

    sapreste darmi qualche dritta per semplificare, o abbreviare questo codice?

    codice:
    //tasto STORE
    
    //sul release di "store"
    
    _root.workin.buttlinksmc.buttmc.storebutt.onRelease = function() {
    
    //stoppo l'home..
    
    _root.workin.homemc.stop();
    
    //.. e per ogni enterframe del filmato homemc:
    
    _root.workin.homemc.onEnterFrame = function () {
    
    //se l'alpha è maggiore di zero,
    
    if (_root.workin.homemc._alpha<>0) {
    
    //dealphizzo homemc di 6 unita ad ogni frame
    
    _root.workin.homemc._alpha -=10
    }
    
    //altrimenti (o se ha finito) cancello l'on enterframe
    
    else {delete _root.workin.homemc.onEnterFrame}
    }
    
    //seguono gli stessi cicli if-else anche per tutti gli altri mc del fla
    
    _root.workin.contactsmc.onEnterFrame = function () {
    if (_root.workin.contactsmc._alpha<>0) {
    _root.workin.contactsmc._alpha -=10
    }
    else {delete _root.workin.contactsmc.onEnterFrame}
    }
    
    _root.workin.teammc.onEnterFrame = function () {
    if (_root.workin.teammc._alpha<>0) {
    _root.workin.teammc._alpha -=10
    }
    else {delete _root.workin.teammc.onEnterFrame}
    }
    
    _root.workin.creditsmc.onEnterFrame = function () {
    if (_root.workin.creditsmc._alpha<>0) {
    _root.workin.creditsmc._alpha -=10
    }
    else {delete _root.workin.creditsmc.onEnterFrame}
    }
    
    _root.workin.storemc.onEnterFrame = function () {
    if (_root.workin.storemc._alpha<=0) {
    _root.workin.storemc._alpha +=10
    }
    if (_root.workin.storemc._alpha=100) {
    	delete _root.workin.storemc.onEnterFrame}
    }
    }
    praticamente alla pressione del tasto (in questo caso "store"), controllo le alpha di tutti gli altri mc e li porto a zero con dissolvenza, mentre tiro su l'alpha di store.
    poi cancello gli enterframe..

    fate conto che il codice finale diventa il quintuplo, essendo 5 i tasti, mi sembra un pò lunghetto!

    grazie mille ragazzi!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mmh... forse così

    codice:
    MovieClip.prototype.alphaControl = function(bool){
    	if(bool){
    		this.onEnterFrame = function(){
    			if(this._alpha > 0){
    				this._alpha -= 10;
    			} else {
    				delete this.onEnterFrame;
    			}
    		}
    	} else {
    		if (this._alpha<=0) {
    			this._alpha +=10
    		} else if (this._alpha>=100) {
    			delete this.onEnterFrame;
    		}
    	}
    }
    var mcs = new Array(homemc, contactsmc, teammc, creditsmc, storemc);
    _root.workin.buttlinksmc.buttmc.storebutt.onRelease = function() {
    	_root.workin.homemc.stop();
    	for (var i = 0; i < mcs.length; i++){
    		if(mcs[i] != storemc){
    			_root.workin[mcs[i]].alphaControl(true);
    		} else {
    			_root.workin[mcs[i]].alphaControl(false);
    		}
    	}
    }
    ora non riesco a commentarlo... comunque non è difficile...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272
    ciao and80 e grazie mille
    purtroppo io nn sono ancora arrivato a studiare i prototype, ho provato ad inserire il codice così com'è e l'unica cosa che provoca è lo stop sulla timeline dell'mc "home".
    altro purtroppo non ti sò dire perchè ho provato a guardarmi bene tutto ma non ho capito molto...
    sapresti dirmi cosa c'è che non va?

    grazie ancora buon week end!

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    sì, scusa... l'ho scritto un po' di fretta e non l'ho ricontrollato, così dovrebbe andare

    codice:
    MovieClip.prototype.alphaControl = function(bool){
    	if(bool){
    		this.onEnterFrame = function(){
    			if(this._alpha > 0){
    				this._alpha -= 10;
    			} else {
    				delete this.onEnterFrame;
    			}
    		}
    	} else {
    		if (this._alpha<=0) {
    			this._alpha +=10
    		} else if (this._alpha>=100) {
    			delete this.onEnterFrame;
    		}
    	}
    }
    var mcs = new Array("homemc", "contactsmc", "teammc", "creditsmc", "storemc");
    _root.workin.buttlinksmc.buttmc.storebutt.onRelease = function() {
    	_root.workin.homemc.stop();
    	for (var i = 0; i < mcs.length; i++){
    		if(mcs[i] != "storemc"){
    			_root.workin[mcs[i]].alphaControl(true);
    		} else {
    			_root.workin[mcs[i]].alphaControl(false);
    		}
    	}
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272
    ciao and80, scusa ma questa domenica mi son riposato
    purtroppo l'alpha in + dell'mc si ferma ad un 20%....non riesco a capire come mai...
    ti lascio il fla qui...
    quando hai tempo e voglia se gli dai un occhiata mi faresti un favore
    grazie ancora




    Prova Alpha

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Ocity
    ciao and80, scusa ma questa domenica mi son riposato
    purtroppo l'alpha in + dell'mc si ferma ad un 20%....non riesco a capire come mai...
    ti lascio il fla qui...
    quando hai tempo e voglia se gli dai un occhiata mi faresti un favore
    grazie ancora
    mi dispiace ma non ho flash a disposizione normalmente, per questo non ho neanche provato il tuo script... comunque l'ho solo modificato in base allo script postato da te precedentemente... ma il tuo funzionava correttamente?

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ancora una svista nella proto... scusa non ero molto in forma in questi giorni

    codice:
    MovieClip.prototype.alphaControl = function(bool){
    	if(bool){
    		this.onEnterFrame = function(){
    			if(this._alpha > 0){
    				this._alpha -= 10;
    			} else {
    				delete this.onEnterFrame;
    			}
    		}
    	} else {
    		this.onEnterFrame = function(){
    			if (this._alpha<=0) {
    				this._alpha +=10
    			} else if (this._alpha>=100) {
    				delete this.onEnterFrame;
    			}
    		}
    	}
    }
    il resto del codice dovrebbe essere OK...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272
    aiudo nn ne vengo più fuori ahhahaa

    prova swf

    purtroppo l'alpha si ferma ad una percentuale a me sconosciuta...non va avanti fino a 100%...
    pensavo fosse un problema che si risolve a logica controllando gli if per incrementare e decrementare ma purtroppo....booh

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ad essere sincero non ho proprio capito cosa dovrebbe accadere... hai modificato il codice della proto come ti ho scritto nell'ultimo post?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272
    si and, ho modificato la proto ma non funge ancora..
    l'incremento dell'alpha si ferma ad una certa percentuale. (si può vedere nell'esempio che ho postato).


    praticamente devo semplicemente alla pressione di un tasto...incrementare l'alpha dell' mc corrispondente e decrementare tutti gli altri.
    e così via per gli altri tasti!

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.