Visualizzazione dei risultati da 1 a 6 su 6

Discussione: serie pulsanti

  1. #1
    Utente di HTML.it L'avatar di goge
    Registrato dal
    Oct 2007
    Messaggi
    46

    serie pulsanti

    Ciao a tutti.
    Ho una domanda facile facile (non per me purtroppo).
    Ho una serie di mc chiamiamoli btn1, btn2, btn3....etc che premuti mi devono caricare
    rispettivamente filmato1,2,3,etc.swf. Siccome sono circa una ventina volevo evitare di
    scrivere 20 volte le stesse azioni e quindi usando un ciclo for riesco a dare un unica
    azione per tutti.
    codice:
    var i:Number;
    for (i=1; i<25; i++) {
    	_root["btn"+i].onRelease = function() {
    		trace("filmato"+i+".swf");
    	};
    }
    In questo modo però non riesco a far caricare swf diversi in base al pulsante premuto.
    Qualcuno può indirizzarmi sulla retta via??? Grazie

  2. #2
    Utente di HTML.it L'avatar di goge
    Registrato dal
    Oct 2007
    Messaggi
    46
    Sono riuscito a fare quello che volevo in questo modo:
    codice:
    for (i=1; i<25; i++) {
    	var btn:String = "pulsante"+i;
    	anteprime.attachMovie("Button", "btn"+i, 25+i);
    	anteprime["btn"+i]._x = (i-1)*46;
    	anteprime["btn"+i]._y = 0;
    	anteprime["btn"+i]._alpha = 0;
    	anteprime["btn"+i].num = i;
    	anteprime["btn"+i].onRelease = function() {
    		mcl.loadClip("filmato"+this.num+".swf", contenitore);
    	};
    }
    Quello che non riesco a fare adesso è un fade out. Ho provato così
    ma giustamente mi dà la variabile undefined:
    codice:
    for (i=1; i<25; i++) {
    	var btn:String = "pulsante"+i;
    	anteprime.attachMovie("Button", "btn"+i, 25+i);
    	anteprime["btn"+i]._x = (i-1)*46;
    	anteprime["btn"+i]._y = 0;
    	anteprime["btn"+i]._alpha = 0;
    	anteprime["btn"+i].num = i;
    	anteprime["btn"+i].onRelease = function() {
    		contenitore.onEnterFrame = function() {
    			this._alpha -= 10;
    			if (this._alpha<=0) {
    				delete this.onEnterFrame;
    				mcl.loadClip("filmato"+this.num+".swf", contenitore);
    				contenitore._alpha = 100;
    			}
    		};
    	};
    }
    Qualcuno può aiutarmi a risolvere il problema? Grazie

  3. #3
    a parte il fatto ke per il fadout potrestiusare una tween..
    poi:
    Codice PHP:
    contenitore.onEnterFrame = function() {
                
    this._alpha -= 10;
                if (
    this._alpha<=0) {
                    
    delete this.onEnterFrame;
                    
    mcl.loadClip("filmato"+this.num+".swf"contenitore);// this si riferisce a contenitore
                    
    contenitore._alpha 100;
                }
            }; 
    presumo che la var undefined sia this.num giusto?
    messa dentro a contenitore.onEnterFrame, this si riferisce a contanitore.

    prova invece cosi:

    Codice PHP:

    for (i=1i<25i++) {
        var 
    btn:String "pulsante"+i;
        
    anteprime.attachMovie("Button""btn"+i25+i);
        
    anteprime["btn"+i]._x = (i-1)*46;
        
    anteprime["btn"+i]._y 0;
        
    anteprime["btn"+i]._alpha 0;
        
    anteprime["btn"+i].num i;
        
    anteprime["btn"+i].onRelease = function() {
    var 
    Indice:Number=this.num//**********************questo
            
    contenitore.onEnterFrame = function() {
                
    this._alpha -= 10;
                if (
    this._alpha<=0) {
                    
    delete this.onEnterFrame;
    trace(Indice)
                    
    mcl.loadClip("filmato"+Indice+".swf"contenitore);//**************e questo
                    
    contenitore._alpha 100;
                }
            };
        };


  4. #4
    Utente di HTML.it L'avatar di goge
    Registrato dal
    Oct 2007
    Messaggi
    46
    Hai ragione
    Grazie mille... adesso va...
    Solo una cosa: usando la classe tween per il fadeout ho comunque bisogno della var Indice, vero???
    Perchè avevo già provato usando la tweenlite ma il problema era lo stesso.
    Ancora grazie

  5. #5
    la classe tween nn centra niente con la var Indice.
    Non ti funzionava il this ha avalore locale ed essendo messo dentro ad un evento di contenitore, si riferisce a contenitore.
    Invece con Indice , dikiari una variabile e la potresti rikiamare da tutte le funzioni annidate al di sotto.

    Chiaro?

    Cerca qualcosa in rete riguardo variabili locali e globali, cosi hai una spiegazione piu kiara.

  6. #6
    Utente di HTML.it L'avatar di goge
    Registrato dal
    Oct 2007
    Messaggi
    46
    Ok...tutto chiarissimo...ancora 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.