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

Discussione: equazione di base

  1. #1
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327

    equazione di base

    Chi mi spiega come applicarla ad un oggetto? come equazione e' abbastanza semplice se non la piu' semplice.

    // t: current time, b: beginning value, c: change in value, d: duration

    Math.linearTween = function (t, b, c, d) {
    return c*t/d + b;
    };
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Associ ad un movieclip:

    codice:
    onClipEvent(load){
    	this.inizio = 100;
    	this.fine = 300;
    	this.percorso = this.fine - this.inizio;
    	this.durata = 30;
    	this.tempo = 0;
    }
    onClipEvent(enterFrame){
    	this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata);
    }

  3. #3
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327
    sicuramente grazie per la risposta, era da piu' di un giorno che aspettavo.

    associandolo ad un mc non fa assolutamente niente. perche?
    uso mx
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Aspetta, non è che ti sei dimenticato la definizione del metodo?

    codice:
    onClipEvent (load) {
    	Math.linearTween = function(t, b, c, d)
    	{
    		return c * t / d + b;
    	};
    	this.inizio = 100;
    	this.fine = 300;
    	this.percorso = this.fine - this.inizio;
    	this.durata = 30;
    	this.tempo = 0;
    }
    onClipEvent (enterFrame) {
    	this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata);
    }

  5. #5
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327
    mi sa che dopo la mangiata di ieri sono ancora un po' stontito.
    mi ero proprio dimenticato la definizione del metodo :quote:

    Ma a che ci siamo, e' molto piu difficile applicarla anche alle altre equazioni di easing tipo:

    Quadratic
    Cubic
    Quartic
    Quintic
    Sinusoidal

    ecc. ecc. conoscendo il metodo?
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Affatto, funzionano tutte allo stesso modo (all'incirca).

  7. #7
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327
    scusami ancora nega, per esempio la ho applicata sull'easeoutbounce.
    ma come faccio per fermarla?

    onClipEvent (load) {
    Math.easeOutBounce = function(t, b, c, d) {
    if ((t /= d)<(1/2.75)) {
    return c*(7.5625*t*t)+b;
    } else if (t<(2/2.75)) {
    return c*(7.5625*(t -= (1.5/2.75))*t+.75)+b;
    } else if (t<(2.5/2.75)) {
    return c*(7.5625*(t -= (2.25/2.75))*t+.9375)+b;
    } else {
    return c*(7.5625*(t -= (2.625/2.75))*t+.984375)+b;
    }
    };
    this.inizio = 0;
    this.fine = 300;
    this.percorso = this.fine+this.inizio;
    this.durata = 100;
    this.tempo = 0;
    }
    onClipEvent (enterFrame) {
    this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    }
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

  8. #8
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    onClipEvent (load) {
    	Math.easeOutBounce = function(t, b, c, d)
    	{
    		if ((t /= d) < (1 / 2.75)) {
    			return c * (7.5625 * t * t) + b;
    		} else if (t < (2 / 2.75)) {
    			return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
    		} else if (t < (2.5 / 2.75)) {
    			return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
    		} else {
    			return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
    		}
    	};
    	this.inizio = 0;
    	this.fine = 300;
    	this.percorso = this.fine + this.inizio;
    	this.durata = 100;
    	this.tempo = 0;
    }
    onClipEvent (enterFrame) {
    	if(this.tempo > this.durata)return
    	this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    	this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    }
    Ovviamente, se usi il flashmx:

    codice:
    Math.easeOutBounce = function(t, b, c, d)
    {
    	if ((t /= d) < (1 / 2.75)) {
    		return c * (7.5625 * t * t) + b;
    	} else if (t < (2 / 2.75)) {
    		return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
    	} else if (t < (2.5 / 2.75)) {
    		return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
    	} else {
    		return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
    	}
    };
    mc.inizio = 0;
    mc.fine = 300;
    mc.percorso = mc.fine + mc.inizio;
    mc.durata = 100;
    mc.tempo = 0;
    mc.onEnterFrame = function()
    {
    	if (this.tempo > this.durata)delete this.onEnterFrame
    	this._xscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    	this._yscale = Math.easeOutBounce(this.tempo++, this.inizio, this.percorso, this.durata);
    };

  9. #9
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327
    rinnovo i miei ringraziamenti, sei proprio bravo,
    grazie.
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

  10. #10
    Utente di HTML.it L'avatar di gioska
    Registrato dal
    Jul 2002
    Messaggi
    327
    mi potresti spiegare come fai ad arrivare a questa soluzione?

    onClipEvent (load) {
    Math.linearTween = function(t, b, c, d)
    {
    return c * t / d + b;
    };
    this.inizio = 100;
    this.fine = 300;
    this.percorso = this.fine - this.inizio;
    this.durata = 30;
    this.tempo = 0;
    }
    onClipEvent (enterFrame) {
    this._x = Math.linearTween(this.tempo++, this.inizio, this.percorso, this.durata);
    }
    PALERMO IN SERIE A "siemu i miegghiu" <<""FORZA PALERMO"">> <<""FORZAPALERMO"">>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.