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

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

fonction oscillate() pour faire osciller une propriété d'un clip

Regardez un exemple ici.

Voici le code, commenté:

/*
ce script a été réécrit pour gérer l'oscillation de plusieures propriétés simultanément
*/

movieClip.prototype.oscillate = function(prop,centre,amplitude,vitesse){
	if(this.i==null)
		{
			this.i=new Object; this.amplitude = new Object; this.oscill=new Object;
		}
	if(this.i[prop]!=false)
	{
		this.i[prop] += vitesse;
		this.amplitude[prop] = amplitude;
		this.oscill[prop] = Math.cos( this.i[prop] * Math.PI/180 ); 
		this[prop] =  centre + (this.oscill[prop] * this.amplitude[prop]);
	}

}

/* exemple :
_root.test.oscillate("_alpha",50,40,50);
_root.test.oscillate("_xscale",50,50,10);
*/

.

.Commentaires:

damien:
et pour arreter les oscillations, il suffit de mettre _root.cible.i["_alpha"]=false;
damien:
remarque: ce script est vraiment très puissant, et ça simplifie beaucoup plein de problèmes, et l'effet est bluffant! Vous pouvez faire pulser vos clips, faire osciller leur propriété '_rotation', et plus encore !
jerome:
bonjour, je viens de voir pour la première fois votre site et je trouve cela plutôt extraordinaire. Je suis un utilisateur de flash et j'aimerais vous poser une question qui peut-être serait intéressante. Je voudrais savoir s'il est possible d'enregistrer des données sur le dique dur depuis une interface flash sans utiliser de langage comme PHP ? mon adresse email : jeromecourivaud@voila.fr, merci
damien:
mail envoyé. :-) A bientôt
Drakini:
Je suis preneur d l'info aussi d'ailleurs.... Très bon site et merci pour les tuts sur le xml.. très bien...bguillon@sofaxis.com
damien:
Et bien je reponds direct ici : en fait on ne peut pas enregistrer de fichiers proprement dits, mais avec javascript on peut utiliser des cookies, donc sans passer par php. Sous flashMX il y a aussi les sharedObjects, je conseille d'aller voir ça dans l'aide
sbolleng:
bjr !tres tres bien tout cela !!! je trouve plein d'inspiration sur ton site c'est trop fort !!! encore bravo...Pour ma part, je suis un bon débutant et j'avous qu'il y a une chose que je ne comprnd pas dans le code : les [] dans lesquels on place prop... permet de "traduire" une propriété d'objet, et de s'en servir comme une "variable"... alors pq dans le code il est écrit, par exemple, this[prop] et non this.[prop] ?
Damien:
En fait, c'est soit le point, lorsque tu as déjà le nom exact, par exemple this._rotation=... , soit le crochet pour passer une variable, par exemple var="_rotation"; this[var]= .... . Il faut bien comprendre qu'en fait un objet est un tableau, et on accede à ses sous-éléments par clip["sousObjet"] aussi bien que par clip.sousObjet . Les crochets permettent de faire plus de choses. :) Voila A+
spatchcore:
terrible ce prototype,tres utile pour creer des effets de flottement bien smooth...justement a ce propos ,je l'ai utilisé sur un _y et un _x tres leger pour faire ce dit effet mais il y a un leger decalage progressif du symbole...est ce ma façon d'intégrer le proto ou celui ci qui a un leger bug?merci
obl:
Salut. ce site est une mine d'or !!Juste une remarque : je bosse avec MX2004. Pour que les proto fonctionnent correctement chez moi je suis obligée d'enregistrer une premiere fois mon fla en MX (ensuite je peux le sauvegarder en MX2004 a volonté).Ca n'est pas tres genant en fait : il suffit de le savoir et d'y penser... Mais si quelqu'un peut m'expliquer pourquoi, ca m'interesse ;)merci @ .
oloz:
marche po !!!
franck:
Avant tout félicitation pour ton site.Voilà maintenant ma quastion comment peut-on faire pour accrocher cette effet d'oscilliation à la souris.Avec startDrag() mais ou le placer car je le place après" _root.onEnterFrame=function()"mais il reste sur _x.Merci pour votre aide.A
Question:
Tout est vraiment très bien, une seule petite question dont la réponse m'aidera sans doute à comprendre le code .this[...] cela signifie quoi??this ne fait pourtant pas référence à un tableau??
Réponse à "Question" : :
Très bonne question, tu parles sans doute des lignes de code du style this[prop] (ou autre)...je suis bien incapable de te répondre...mais la réponse m'intéresse aussi!
REPONSE?????:
A quand la réponse...ça fait plus dune semaine que je viens voir...
Ae2olivier:
This dans une fonction ce réfère à l'objet de la fonction, dans le cas d'un prototye su MovieClip, c'est le movieclip sur lequel agit le prototype. Un oubli important dans ce code, il faut mettre un this.onEnterFrame = function(){ en deuxième ligne du prototype et rajouter } à la fin.
jean-michel:
ton site est fantastique merci
new:
il manque une majuscule à movieClip.
sdfsdf:
dfsdfsdf
azzaz:
gfxgfxgvxcvcxv
azzaze:
vvccvcvvc