Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641

    ordinare una serie di esecuzioni

    ciao a tutti,

    nel mio filmato, al click di un bottone, ho un ciclo for che imposta per ogni mc duplicato una certa azione.
    oltre a questo, deve essere mostrato un mc nascosto e deve fare una serie di altre cose.
    Il quesito è: posso dare un ordine alle cose da compiere? per esempio... io vorrei che prima facesse il for con la sua azione dentro e che poi mi mostrasse il mc. al momento invece lo mostra subito.

    ho provato a dire
    codice:
    if (i==totale){
    mc._visible = true;
    }
    dove i e totale sono quelli del for.

    ho provato anche a passare una varibile
    pippo = true;
    in un mc fittizio usato solo per questo scopo

    insomma, ne ho provate ma nulla!

    delle idee ?
    grazie

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

    Re: ordinare una serie di esecuzioni

    l'unico modo di dare un "delay" alle azioni è quello di usare un intervallo o un enterFrame che verifichi determinate condizioni, ad esempio

    codice:
    mioMc.onRelease = function(){
    	this.gotoAndStop(100);
    	a = setInterval(function(){_parent.altroMc._visible = true;clearInterval(a);), 2000);//dopo due secondi
    	b = setInterval(function(){_root.play();clearInterval(b);), 5000);//dopo cinque secondi
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    :master: :master: suppongo che tutto questo ambaradan, se ho un bel po' di cose da fare on(press), mi ciucci un bel po' di CPU! giusto? maledetta CPU, sempre in mezzo!!


  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da mic
    :master: :master: suppongo che tutto questo ambaradan, se ho un bel po' di cose da fare on(press), mi ciucci un bel po' di CPU! giusto? maledetta CPU, sempre in mezzo!!

    direi di no, sono intervalli che si aprono e si chiudono immediatamente, stai comunque eseguendo una singola azione ma avanti nel tempo

    insomma se te la "ciucciava" prima, te la "ciuccia" anche adesso, altrimenti tutto come prima o quasi

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    allora provo ad inserirlo nel mio papiro.
    solo una precisazione per gli altri.

    nel tuo codice c'è un errore di battitura, una ) al posto di una }
    codice:
    a =  setInterval(function(){_paren
    t.altroMc._visible = true;clearInterval(a);} , 2000);//dopo due secondi
    	b = setInterval(function(){_root.play();clearInterval(b);} , 5000);//dopo cinque secondi
    come sempre grazie
    e come sempre...se ho problemi ti stresso!

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da mic
    allora provo ad inserirlo nel mio papiro.
    solo una precisazione per gli altri.

    nel tuo codice c'è un errore di battitura
    si, prevedibile, di solito scrivo sul notepad

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    ho trovato un tuo errore!
    scherzo. l'ho cuccato solo grazie al trace e grazie al fatto di scrivere direttamente in flash

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    :master: non credo faccia la caso mio ma...non si sa mai.
    mi domando e chiedo, se io

    codice:
    on(press){
      for(i=0;i<=numMcDuplicati;i++){
        ...
        ...
        //associo l'ormai famosa proto di _enigma dichiarata sotto    
        _root["mcDupl"+i].animaMc(inserisco i valori);
      }
    }
    nell'on(press) vorrei dire che, quando i miei mc duplicati arrivano alla x finale e quindi quando hanno finito la proto, mi venisse mostrato il mc altroMc. ma come si fa?
    proto:
    codice:
    MovieClip.prototype.animaMc= function (x,y,a,ap,sx,sy,steps) {
    	this._xstep=(Number(x)-this._x)/Number(steps);
    	this._ystep=(Number(y)-this._y)/Number(steps);
    	this._rot=(Number(a)-this._rotation)/Number(steps);	
    	this._alphastep=(Number(ap)-this._alpha)/Number(steps);	
    	this._xsca=(Number(sx)-this._xscale)/Number(steps);
    	this._ysca=(Number(sy)-this._yscale)/Number(steps);
    	this._steps=steps;
    	this.onEnterFrame=function () {
    		if (this._steps) {
    			this._rotation+=this._rot;
    			this._alpha+=this._alphastep;
    			this._x+=this._xstep;
    			this._y+=this._ystep;
    			this._xscale+=this._xsca;
    			this._yscale+=this._ysca;
    			this._steps--;
    		}else {
    			delete this._xstep;
    			delete this._ystep;
    			delete this._xsca;
    			delete this._ysca;
    			delete this._steps;
    			delete this.onEnterFrame
    		}
    	}
    }

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.