Optimiser et allèger une animation

Résolu
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 - 26 déc. 2010 à 19:12
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 - 27 déc. 2010 à 19:01
Bonsoir à tous,
Ne me jetez pas la pierre en cette période de fêtes car je "programme" en AS2.

Voici mon projet : 4 éléments qui génèrent des bulles aléatoires, au survol ces bulles se multiplient.
À 1 élément ça passe parfaitement, à 2 ça commencer à lager, à 4 c'est horrible.
Alors quand je survol un élément c'est la panique !!
Pourriez-vous m'aider à allèger ou optimiser mon code pour que l'animation soit plus légère (et du coup plus fluide).

Merci à tous :)
Bonnes fêtes.


SUR LA SCÈNE :
this.createEmptyMovieClip("holderMC1", this.getNextHighestDepth());
this.createEmptyMovieClip("holderMC2", this.getNextHighestDepth());

holderMC1.onEnterFrame = function() {
if (random(20) < 5) return;
var bubbleName:String = "bubble" + random(100);
var bubbleX:Number = random(125)+30;
var bubbleY:Number = random(125)+180;
var bubbleScale:Number = random(6)*10+40;
var bub:MovieClip = this.attachMovie("bubbleMC1", bubbleName, random(30), {_x:bubbleX, _y:bubbleY, _xscale:bubbleScale, _yscale:bubbleScale});
} 

holderMC2.onEnterFrame = function() {
if (random(20) < 5) return;
var bubbleName:String = "bubble" + random(100);
var bubbleX:Number = random(125)+210;
var bubbleY:Number = random(125)+180;
var bubbleScale:Number = random(6)*10+40;
var bub:MovieClip = this.attachMovie("bubbleMC2", bubbleName, random(30), {_x:bubbleX, _y:bubbleY, _xscale:bubbleScale, _yscale:bubbleScale});
} 

// [...] et ce encore 2 fois


SUR UNE ZONE RÉACTIVE :
on(rollOver){
holderMC1.onEnterFrame = function() {
var bubbleName:String = "bubble" + random(1000);
var bubbleX:Number = random(125)+30;
var bubbleY:Number = random(125)+180;
var bubbleScale:Number = random(8)*10+50;
var bub:MovieClip = this.attachMovie("bubbleMC1", bubbleName, random(100)*50, {_x:bubbleX, _y:bubbleY, _xscale:bubbleScale, _yscale:bubbleScale});
}
}
on(rollOut){
holderMC1.onEnterFrame = function() {
var bubbleName:String = "bubble" + random(100);
var bubbleX:Number = random(125)+30;
var bubbleY:Number = random(125)+180;
var bubbleScale:Number = random(6)*10+40;
var bub:MovieClip = this.attachMovie("bubbleMC1", bubbleName, random(30), {_x:bubbleX, _y:bubbleY, _xscale:bubbleScale, _yscale:bubbleScale});
}
}


Si le passez en AS3 simplifierai les choses et allègerai mon anim' je suis tout à fait pour,
mais j'ai encore du mal avec l'AS3

8 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
27 déc. 2010 à 18:06
le passage en as3 n'arrangera rien si ton code n'est pas optimisé de toutes façons.
Mais faire tourner 4 threads (les enterframe) au lieu d'un est pareil en as3 qu'en as2 ...

Peg'
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
26 déc. 2010 à 19:37
Bonjour,

Pourquoi ne fais-tu pas un seul enterFrame qui gère tes 4 clips ?

Peg'
0
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 5
26 déc. 2010 à 21:45
Je voudrais que quand l'élément soit survolé le nombre de bulles augmente seulement sur cet élément. Donc j'ai dissocié les 2.
As-tu un moyen de conserver cette dissociation tout en mettant les 4 éléments dans le même enterFrame ? (c'est surtout au niveau des rollOver/rollOver que ça me pose problème).

Merci pour ta réponse.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
26 déc. 2010 à 22:19
en as2, non, ça remonte à trop loin ..

Peg'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 5
26 déc. 2010 à 22:25
ha mince ^^
une conversion AS3 est-elle possible ?

Le code n'est pas bien compliqué, saurais-tu m'aider ?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
26 déc. 2010 à 22:47
oui, mais par manque de temps, non.
Le mieux est de regarder les modifications des instructions as2 => as3.
C'est dur au début mais bien plus simple à la fin.

Peg'
0
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 5
27 déc. 2010 à 00:49
Damn ! Pauvre de moi
Le passer en AS3 améliorera-r-il réellement la fluidité ?
0
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 5
27 déc. 2010 à 19:01
Ok, donc tout passer dans un seul enterframe est une priorité.
Merci !
0
Rejoignez-nous