cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 2011
-
26 déc. 2010 à 19:12
cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 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
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 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 ...
cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 20115 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).
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 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.