:::::: mxPrototypes ::::::

Retour à l'accueil (site en flash) :::: Retour à l'accueil (site en html ) :::: ajouter aux favoris

fonction spirale() pour des trajectoires ... spiraliques ;-)

Le fonctionnement est le même que celui du script hélice.

r =(1+ sin(3*q))/2
(oscillations entre 0 et 1)

Pour pouvoir utiliser cette courbe dans flash, il suffisait de parametrer la courbe.
En paramêtriques, on a:
x(q) = r * cos(q)
y(q) = r * sin(q)

On remplace r par son expression (première formule) et on a:

x(q) = (1+sin(3*q))/2 * cos(q)
y(q) = (1+sin(3*q))/2 * sin(q)

Bon, maintenant il sufit de transforme les 'q' en bons et loyaux 'i' et tout ça prend une allure plus agréable (dans le script c'est 'i_spirale', variable qui sera résérvée à ce script).

Les paramêtres sont les suivants: 'speed' pour la vitesse, 'xCentre' et 'yCentre' pour le centre de la spirale, 'xAmp' et 'yAmp' pour l'amplitude (taille) de la spirale, le fonctionnement de param est expliqué plus bas.

Regardez l'exemple ici.
/*
Le paramêtre 'param' controle la fréquance à laquelle le clip s'approche du centre,
--> plus il est petit et plus le clip met de temps à atteindre le centre (ou le bord).

*/

Movieclip.prototype.spirale=function(speed,param,xAmp,yAmp,centreX,centreY){
	if(this.i_spirale==null) this.i_spirale=0;
	this.i_spirale+=speed;
	this._x = Math.sin(this.i_spirale*Math.PI/180)*xAmp* 0.5*(1+Math.sin(param*this.i_spirale*Math.PI/180)) +centreX;
	this._y = Math.cos(this.i_spirale*Math.PI/180)*yAmp* 0.5*(1+Math.sin(param*this.i_spirale*Math.PI/180)) +centreY;
}

/*
par exemple:

_root.onEnterFrame = function(){
	_root.test.spirale(10,0.2,150,150,_root._xmouse,_root._ymouse);
}

*/
.

.Commentaires:

damien:
le principe est de faire tourner le clipa utour du centre, et de faire osciller sa distance au centre, en même temps
siper:
je te repete damien que tt ça est super mais moi je suis graphiste sous flash et j'aimerais me mettre à l'action script mais tes tuts sont trop peu detaillées et je galere alors les .fla st indispensable car tt le mde ne maitrise pas la programmation. Je pense qu'un site comme ça est pr les debutants. Non???
ramzi:
est ce que je peux avoir un exemple de site fait avec flashMX
msa:
menfin!! c'est toujours le meme procede. qu'est ce que damien peut faire de plus pour nous ?ya meme des exemples !!!
DarkKoala:
tuto leger,
zelimm:
explication superficielle !!!