lancer 2 aminations successivement

lancer 2 aminations successivement - Flash/ActionScript - Programmation

Marsh Posté le 15-08-2006 à 13:09:09    

Bonjour à tous !
 
Et bien voilà, j'ai un petit problème au niveau des clips que j'essaie de résoudre depuis un petit bout de temps.
 
Comment faire pour lancer 2 animations successivement ?
Pour être plus précise :
J'ai créer une interpolation de forme avec Action Script. Donc, sur mon clip, j'ai mis le code suivant :
(Il s'agit un cercle qui s'agrandit en disparaissant progressivement)
 
onClipEvent (load) {
setProperty ("_root.essai1", _height, "40" );
setProperty ("_root.essai1", _width, "40" );
setProperty ("_root.essai1", _alpha, "100" );
}
onClipEvent (enterFrame) {
_root.essai1._height0 = 5;
_root.essai1._width0 = 5;
_root.essai1._alpha0 = 5;
if (this._height<=200) {
this._height += this._height0;
if (this._width<=200) {
this._width += this._width0;
if (this._alpha>=0) {
this._alpha -= this._alpha0;
}
}
}
}
 
Il y en a 2. Le nom d'occurence du 2e clip est "essai2".
Donc, quand je teste l'animation, les 2 clips commencent en même temps.
Mais comment dois-je procéder si je veux que le 2e clip commence 2 secondes après le 1er ?
 
Merci beaucoup d'avance !
 
Angélique

Reply

Marsh Posté le 15-08-2006 à 13:09:09   

Reply

Marsh Posté le 15-08-2006 à 14:12:17    

Bonjour,
 
le plus simple à mon avis serait que tu profites des possibilités offertes par l'AS2 et la disposition d'écouteur.
 
Regarde ce lien, je le trouve très bien pour comprendre les Tween (interpolations) grace à une classe toute prete de Robert Penner.
 
http://www.especedepetitefille.com [...] n-de-flash
 
Sinon, pourquoi ne pas passer par une fonction setInterval (regarde dans la documentation flash).
 
Je te laisse un peu chercher car c'est comme ça qu'on apprend  ;)


Message édité par CUT HERE le 15-08-2006 à 14:12:54
Reply

Marsh Posté le 15-08-2006 à 15:07:22    

Bonjour CUT HERE !
 
Merci beaucoup pour ta réponse et ton lien !
Je débute dans Action Script, mais je connais quelques bases
Je vais suivre tes conseils
 
Encore merci  ;)  
 
Angélique

Reply

Marsh Posté le 17-08-2006 à 21:44:01    

avant tout, corrige ton code :  
- on(...) est déprécié depuis Flash MX (6),
- setProperty() depuis Flash 5,
- on ne met jamais de code directement sur un clip, toujours sur la timeline,
- on ne boucle jamais sur un enterFrame - si le framerate du player ralentit (s'il y a beaucoup de clips, si le poste client date un peu, etc.), ton enterFrame ralentira, et l'anim va décélérer, et par conséquent se désynchroniser.
 
regarde avant tout ton manuel à MovieClip.onEnterFrame, MovieClip.onLoad, etc...va faire un tour sur yazo.net aussi, assimiler les bases.
 
Ensuite utilise au choix la classe Tween de Macromedia (doc sur macromedia.com), les laco tweens ou Animation Package. A moins que tu aies envie de coder tes propres classes d'anim time-based avec frame-dropping (mais pas tout de suite alors, hoooula).
 
si tu veux impérativement conserver ton 'code' actuel, rajoute simplement un if() { } sur une des propriétés qui varie afin de l'utiliser comme déclencheur :
 
if (this._alpha > 100) {
 
this._parent.anim2.onEnterFrame = <ref_vers_fonction_d-anim>;
 
}

Reply

Marsh Posté le 19-08-2006 à 13:20:26    

Bonjour craps_youpla !
 
Merci beaucoup pour tes conseils !  ;)  
Je vais essayer
 
Angélique

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed