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 |