As1 vers as2 ??? flash 8 ??? compatibilité

Jblenderj Messages postés 15 Date d'inscription samedi 22 mai 2004 Statut Membre Dernière intervention 25 mars 2010 - 29 nov. 2008 à 06:32
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010 - 30 nov. 2008 à 00:16
Bonjour,

Dans ce script, qu'est ce qui n'est pas compatible avec Flash 8 ? as2 ?:

function Bonus(){
//if a bonus is active : do nothing
if (_root.activebonus==true)
{
trace("a bonus is already active");
return;
}
plateau.AttachMovie("bonus","bonus",1); //attach "bonus" from library
r=random(4); //pick a random bonus (4 types available)

switch(4){
case(0): // score bonus ("points")
_root.plateau.bonus.bonusletter.text="P";
_root.plateau.bonus.onEnterFrame=function(){
if(this.hitTest(_root.plateau.user)){
trace("je change le score");
DisplayBonusCatch();
_root.activebonus=true;
_root.userpoints+=_root.bonuspoints; // increase user points
_root.activebonus=false;
removeMovieClip(plateau.bonus);
}
};
break;
case(1): // size bonus ("size)
trace("case 1");
plateau.bonus.bonusletter.text="M";
plateau.bonus.onEnterFrame=function(){
if(this.hitTest(_root.plateau.user)){
trace("je change les tailles");
DisplayBonusCatch();
_root.activebonus=true;
_root.plateau.user._width/=2; //divide size by 2
_root.plateau.user._height/=2; //divide size by 2
removeMovieClip(plateau.bonus);
}
};
break;
case(2): // speed bonus (reinit speed)
plateau.bonus.bonusletter.text="F";
plateau.bonus.onEnterFrame=function(){
if(this.hitTest(_root.plateau.user)){
trace("je reinitilaise la vitesse");
_root.activebonus=true;
DisplayBonusCatch();
InitSpeeds(); // reinit speeds
removeMovieClip(plateau.bonus);
_root.activebonus=false;
}
};
break;
case(3): // inverse direction bonus ("points")
plateau.bonus.bonusletter.text="S";
plateau.bonus.onEnterFrame=function(){
if(this.hitTest(_root.plateau.user)){
trace("je change de sens");
_root.activebonus=true;
DisplayBonusCatch();
InverseAllSens(); // inverse all directions
removeMovieClip(plateau.bonus);
_root.activebonus=false;
}
};
break;
}
//choose a random position for the bonus
xpos=20+random(_root.plateau._width-20);
ypos=20+random(_root.plateau._height-20);
_root.plateau.bonus._x=xpos;
_root.plateau.bonus._y=ypos;
//animate bonus
_root.bonus.gotoAndPlay("anim");
}

Je débute, indulgence ...

Merci ...

4 réponses

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
29 nov. 2008 à 16:37
as1 -> as2 tout est compatible car as2 interprètera correctement le code as1

La grande différence se situe dans les déclarations surtout, par exemple un "i=1;" deviendra "var i:Number=1;"
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
29 nov. 2008 à 16:37
après il y a peut-être quelques petites différences mais je ne m'en souviens plus, on va surtout dire que l'ancien code n'est pas "recommandé".
0
Jblenderj Messages postés 15 Date d'inscription samedi 22 mai 2004 Statut Membre Dernière intervention 25 mars 2010
29 nov. 2008 à 17:02
Merci de ton aide :)

J'ai trouvé finalement mon petit problème, il s'agit pour ce cas d'un problème de casse ...

Ainsi ce bout de code:
plateau.AttachMovie("bonus","bonus",1);

Devient pour flash 8:
plateau.attachMovie("bonus","bonus",1);

Et là, à présent ça fonctionne très bien.

Merci encore
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
30 nov. 2008 à 00:16
Il me semblait que as1 respectait déjà la casse, enfin je peux me tromper ça fait très très longtemps l'as1 .
0
Rejoignez-nous