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

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

la fonction générale pour tous les mouvements paramétrés


Un mouvement paramétré dans le plan utilise deux fonctions: x(t) et y(t).
Plutôt que d'écrire un prototype pour chaque trajectoire voulue, on essaie ici de concevoir une fonction qui prendrait en paramêtre les deux fonctions x(t) et y(t).
Il faudra de plus spécifier la vitesse de variation du paramêtre 't', que l'on appelera ici 'i_parametric' pour eviter les confusions produites de noms de variables trop généraux.
On aura donc quelque chose de la forme:
movieClip.prototype.parametric = function(speed,functionX, functionY){/* instructions*/}

A l'interieur de la fonction, il faut juste s'occuper de definir le 'i_parametric' au cas où il ne le serait pas (null), de l'incrementer de 'speed', et de placer le clip aux coordonnées x(t) et y(t) c'est à dire dans notre syntaxe:
functionX(i_parametric) et functionY(i_parametric)

La méthode est donc destinée à être appelée en boucle.
Un exemple est disponible ici: parametric.
Et voici le code:


movieClip.prototype.parametric = function(speed,functionX,functionY){
	if(this.i_parametric==null)
	this.i_parametric=0;
	this.i_parametric+=speed;
	this._x=functionX(this.i_parametric);
	this._y=functionY(this.i_parametric);

}

par exemple:

_root.onLoad = function(){
	
	fonctionx = function(t){
		return(100*Math.sin(3*t));
	}
	fonctiony = function(t){
		return(100*Math.sin(t));
	}
	
	/* inserez ici le code du prototype */
}

_root.onEnterFrame = function(){
	/* clip est un movieClip */
	clip.parametric(0.1,fonctionX,fonctionY);
}
.

.Commentaires:

damien:
Je mettrai prochainement une liste de couples de fonctions pour ce prototype, vous avez déjà deux exemples, plus les trois autres fonctions des autres prototypes sur les equations paramétrées (spirale etc...)
jklm:
ca marche comment ?
damien:
Il faut mettre ce code dans le première image de ton anim, plus les codes des fonctions (voir l'exemple -en haut à droite) et puis faire tourner en boucle avec un: 'clip.onEnterFrame=function(){ this.parametric(1,f1,f2);}'
siondubois:
merci pour ces tutos, je vai sessayer de les faire, en as tu sur duplicate movie ?merci et bonne continuation
:

damien:
pas de tutos sur duplicateMovieClip pour l'instant :-) peut-etre après... j'y penserai
nox:
merci ;-)
msa:
suggestion: dans ton exemple, tu devrais mettre un graphisme moins "grose bouboule". La trajectoire serait plus marquee et plus visible et donc l'effet peut-etre un peu plus comprehensible
msa:
a part ca, change rien t'es parfait
DRXRAY:
C'est véritablement la meilleur réalisation de script 3D, sous flash que je connaisse actuellement.J'espère en faire bientôt plus, voir autant.Bonne continuation.