Jump to content
Aenea

Animazione In Flash

Recommended Posts

Ragazzi, mi servirebbe un favore: devo fare un'animazione in flash per il mio sito web: non è molto complicato ma si compone nel seguente modo: c'è un immagine di base (una foglia), e si dovrebbero vedere delle linee che mano, a mano ne traccino il contorno.

Come posso fare?

Spero che mi possiate aiutare! ^_^

Share this post


Link to post
Share on other sites

ciao,

in realtà non è una cosa così semplice...per un buon risultato dovresti affidarti al metodo hitTestObject di As3, che ha sostituito hittest di as2.

ora non sono molto ben documentato su as3 ma per quanto riguarda as2 posso darti qualche dritta.

0) Apri flash! (setta il framerate a 51)

1) importa nello stage l'immagine che vuoi venga contornata, stando accorto che sia o un vettoriale o un disegno in flash, perchè se importi una foto la funzione contornerà anche lo sfondo.

2) Converti in movieclip l'immagine e la istanzi con "foglia"

3) copia e incolla nel primo fotogramma il seguente codice

MovieClip.prototype.traccia_contorno = function(alpha, spessore, colore, qualita) {

	this._alpha = alpha;

	// ----------------------------------------------------

	this.effetto = _root.createEmptyMovieClip("contorno" + this._name, 1000 + _root.stage++);

	this.effetto.lineStyle(spessore, colore, 100);

	// ----------------------------------------------------

	var cos_mini = Math.cos(0.03);

	var sin_mini = Math.sin(0.03);

	// ----------------------------------------------------

	this.test_X = 2000;

	this.test_Y = 2000;

	// ----------------------------------------------------

	while (!this.hitTest(this._x + this.test_X, this._y + this.test_Y, true)) {

		this.test_X--;

		this.test_y--;

	}

	// ----------------------------------------------------

	this.depart_x0 = this._x + this.test_X;

	this.depart_y0 = this._y + this.test_y;

	this.x0 = this.depart_x0;

	this.y0 = this.depart_y0;

	this.x1 = this.x0 + qualita;

	this.y1 = this.y0 + qualita;

	// ----------------------------------------------------

	this.onEnterFrame = function() {

		var ascissa_X = this.x0 - this.x1;

		var ascissa_Y = this.y0 - this.y1;

		// ----------------------------------------------------

		memoria = ascissa_Y;

		ascissa_Y = -ascissa_X;

		ascissa_X = memoria;

		while (!this.hitTest(this.x0 + ascissa_X, this.y0 + ascissa_Y, true)) {

			memoria = ascissa_X * cos_mini - ascissa_Y * sin_mini;

			ascissa_Y = ascissa_Y * cos_mini + ascissa_X * sin_mini;

			ascissa_X = memoria;

		}

		// ----------------------------------------------------

		this.x1 = this.x0;

		this.y1 = this.y0;

		this.effetto.moveTo(this.x0, this.y0);

		this.x0 += ascissa_X;

		this.y0 += ascissa_Y;

		this.effetto.lineTo(this.x0, this.y0);

		// ----------------------------------------------------

		if ((Math.abs(this.depart_x0 - this.x0) + (Math.abs(this.depart_y0 - this.y0)) < qualita)) {

			delete this.onEnterFrame;

			this.onEnterFrame = function() {

				this._alpha += (100 - this._alpha) / 20;

				if (this._alpha > 99) {

					this.swapDepths(100 + _root.stage++);

					delete this.onEnterFrame;

				}

			};

		}

	};

};


// ----------------------------------------------------

//--> _root.nomemovieclip.traccia_contorno(0,0,0,0)

//--> da qui setti le proprietà grafiche della traccia (alpha, spessore, colore, qualità)

_root.foglia.traccia_contorno(0, 2, 0xbbaa99, 5);

// ----------------------------------------------------

4)prova il filmato

5)esulta.

Avevo questo codice salvato da non so quanto tempo...a volte ritornano (utili)! :hello:


Edited by Elios

Share this post


Link to post
Share on other sites

Wow, grazie della risposta, però l'idea non è proprio quella di contornare ma fare una cosa del genere:

60ra.jpg

In pratica vorrei che si vedessere le linee nere (simil-schizzi di una matita) che di disegnino il contorno della foglia e poi la foglia apparire poco a poco.

Scusa... spero di essere stato più chiaro!

Share this post


Link to post
Share on other sites

ciao,

allora molto più banalmente crei la siluette della foglia e in un altro clip le linee tipo schizzo e con una transizione alpha gestisci le trasparenze dei due elementi :-)

Share this post


Link to post
Share on other sites
ciao,

allora molto più banalmente crei la siluette della foglia e in un altro clip le linee tipo schizzo e con una transizione alpha gestisci le trasparenze dei due elementi :-)

Scusa, ma potresti essere più preciso?, è da ieri che ho Flash (versione trial, quindi ho poco tempo per sfruttarla...) e ancora faccio fatica a orientarmi! :mellow::o

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...