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

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

fonction elasticTo() pour 'attacher' un clip à un point par un élastique virtuel :-)

Cette fonction marche de la même manière que 'slowdownTo(x,y,ralenti)' mais le paramêtre d'élasticité est ajouté, en fait il s'agit de prendre également en compte la vitesse précédente.
(cela s'explique pas le fait que la variation de vitesse représente l'accélération, (a=d²t/dt²) d'où une équation différentielle du second ordre, d'où les oscillations).

Jettez un coup d'oeil à l'exemple.
movieClip.prototype.elasticTo = function(x,y,ralenti,elastic){
	this.vx = (x-this._x)*ralenti +elastic*this.vx ;
	this.vy = (y-this._y)*ralenti +elastic*this.vy ;
	this._x += this.vx ;
	this._y += this.vy ;

}
/* pour ralenti choisissez une valeur entre 0 et 1 (0.3 dans l'exemple, je crois) */
.

.Commentaires:

damien:
ce script produit pas mal d'effet, surtout quand par exemple vous ne le faites suivre qu'une coordonnée de la souris, par exemple cible.elasticTo(_xmouse,200,0.2,1.5);
slalom:
elastik powa :) je vais utilisé ça moa merci
azman:
pas mal mais y faudrai plus d'explication pour les débuant!
suricat:
j'suis d'accord avec azman !il faut déjà du courage pour s'attaquer à flash en autodidact' donc quand on s'casse les dents trop souvent sa mérite des pouces plus longs ;)
toph:
bonne annéey at il moyen d'expliquer comment le declencher
damien:
ok, ca va venir, disons une ptite popup explicative pour dire comment ca marche :-) A
meugo:
pourquoi tu ne met pas le fla à disposition
damien:
en fait, il n'y aurait pas plus que le code déjà présent ici. Mais bon, de plus en plus de gens demandent des fla, je vais voir ce que je peux faire...
damien:
ça ne sera pas pour tout de suite, en tous cas, là déjà cette nouvelle version m'a demandé du temps, et j'ai plein de boulot à coté ;-)
jaywax:
Vraiment génial tous tes protos damiens. Celui a un bel effet visuel, ca redonne de la vie à mes clips :) Bon courage
mwouai:
Bien copié ce truc :-/
Sacha:
cool la nouvelle version du siteJ'ai beau savoir qu'il y'a 50000 sites de flash sur le net je me retrouve toujours à pomper du code dans celui-ci.
jc:
ok c'est tout pompé sur robertpenner.com ayez au moin le merite de dire à qui vous avez piqué le code
yeah:
marchpö sous MX2004?
saroumane:
Il faut typer la donnée en ajoutant intthis.vx = int((x-this._x)*ralenti elastic*this.vx ;)this.vy = int((y-this._y)*ralenti elastic*this.vy ;)Longue vie à ce site!!!!!!!
saroumane:
this.vx = int((x-this._x)*ralenti elastic*this.vx ;)
laure:
je n'arrive pas à le faire fonctionner... je crois que j'aurais besoin d'un fla... je ne comprends pas :-(dommage... j'aime bien ce gadget
mado:
impossible de capter comment ce code marche
mado:
tu ajouterai sous ton code en commentaire (//) un petit exemple, ça couterai pas cher et au moins ton site remplirait ça fonction
opack:
hé mado, ca s'rait trop facile si tout le monde qui a jamais ouvert Flash, savait caler un prototype en dix secondes, faut un minimum avoir galéré avant... non ? (c'est pas telecharger.com ici) :))) courage !
maïke:
..marche pas sur Firefox RC1, Opera 7.25=ok
canardo:
salut, merci pour les protos, ils sont vraiment utiles. J'ai une question : je souhaite faire un effet out sur un clip (les éléments du clip conteneur(eux aussi des clips) s'en vont un à un lorsqu'un autre conteneur est appelé. Mais pour charger le clip conteneur suivant il faut que je sache si les éléments sont tous partis (en gros je n'arrive pas à demander à mon prototype de renvoyer true lorsque l'effet est à son maximum. Dans le cas du proto elasticTo le point n'est jamais atteint mais il tend vers ce point. Pouvez vous me dire comment faire dire à ce prototype qu'il est au plus près de l'effet attendu ? J'espère avoir été clair D'avance merci
dd:

dd:

rr:

MrMx:
Pour les débutants qui demandent toujours plus d'explications, saché que flasheur n'est pas qu'un loisir, c'est aussi un métier.S'accrocher, et ne pas demander que du prémaché !
ipsum:
salut, merci pour ce code..il marche tres bien quand il est seul. en revanche, des que j'essaie de le placer dans une anim plus grande....ca ne marche pas....des precautions a prendre que j'aurais oublié ?
ben:
Les variables vx et vy sont renvoyées NaN par ce prototype. Il ne fonctionne pas. a
kevin:
bonjour jarrive pas a utilier le script??
zoroelbeloo:
_root.onLoad = function () { movieClip.prototype.moveElasticTo = function (x, y, ralenti, elastic) { var vx = (x - this._x) / ralenti; var vy = (y - this._y) / ralenti; this._x = this._x vx elastic * this.vxold; this._y = this._y vy elastic * this.vyold; this.vxold = vx; this.vyold = vy; };};_root.onEnterFrame = function () { _root.test.moveElasticTo(_xmouse, _ymouse, 40, 25);};
supunna:
Je l'ai ajouté à la fin de mon code sur un bouton, mais… ça ne fonctionne pas on (press) {this.swapDepths(9);_xscale *= 4.5;_yscale *=4.5;this._rotation = 0;this._x -=360;this._y -=360;txt_vadonna._visible = true;tr_vadonna._visible = true;gotoAndStop(2);with (_root.loupe) {gotoAndPlay("minus");}this.prototype.elasticTo = function(x,y,ralenti,elastic){this.vx = (x-this._x)*0.3 0.5*this.vx ;this.vy = (y-this._y)*0.3 .05*this.vy ;this._x = this.vx ;this._y = this.vy ;}} Une idée ? Merci.