Forums Développement Multimédia

Aller au contenu

- - - - -

De ActionScript 2 à ActionScript 3

CODE ActionScript 3

3 réponses à ce sujet

#1 Nicephore75

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 16 December 2014 - 18:04 PM

Bonsoir,

Je me remets à Flash et je passe de la version CS 5.5 à la CC.
Cette dernière n'accepte plus l'ActionScript 1 ou 2, et si je peux bricoler un peu la-dedans pour les adapter, je ne suis pas assez compétant pour corriger les problèmes suivant.

Merci pour vos lumières !!!
Alain.

Voici le les lignes qui posent problèmes et le code resize :
Les lignes 2 / colonne 7,
3 / col 7,
4 / col 7,
8 / col 1,
37 / col 1,
38 / col 1,
42 / col 7 et 19,
46 / col 1,
40 / col 2.

//les propriétés à ne pas oublier pour le Stage
Stage.showMenu = false;
Stage.scaleMode = "noScale";
Stage.align = "TL";
//****************************************************
//****************************************************
//on définit une fonction qui sera appelée à chaque resize
position = function () {
//Quelques exmples de replacement / redimensionnement
//****************************************************
// redimensionne le fond
with (fond) {
_y = 0;
_x = 0;
_width = Stage.width;
_height = Stage.height;
}
// place le logo en haut à gauche
with (logo) {
_y = 0;
_x = -4;
}
// centre le clip_mc au milieu de l'écran
with (clip_central) {
_x = Math.round(Stage.width/2-clip_central._width/2);
_y = Math.round(Stage.height/2-clip_central._height/2);
}
// centre le menu en haut au milieu de l'écran
with (menu) {
_x = Math.round(Stage.width/2-menu._width/2);
_y = 10;
}
};
//****************************************************
//****************************************************
//on définit le Listener
redim = new Object();
redim.onResize = function() {
//on appelle la fonction du dessus à chaque resize
position();
};
Stage.addListener(redim);
//****************************************************
//****************************************************
//on appelle une première fois la fonction pour positionner tous les éléments sur la scene
position();


#2 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 250 messages

Posté 16 December 2014 - 19:25 PM

Coucou !

Bienvenue. Me sens moins seul....
Quelle galère.

Hier soir je lisais :

http://forums.mediabox.fr/wiki/tutoriaux/flashplatform/programmation/pratique_as3

Chapitre 4 et 12 de mémoire.

Il m'a l'air pas mal le gars Thibaut mais j'ai pas son portable. Snif...

Nous sommes largués. Normal. Plus rien à voir....
J'ai 15 jours d'avance sur toi donc n'hésite pas.
Mais là, je crains qu'il faille tout reprendre.

Bon courage !
A++

PS. Fais gaffe: les gars dans le coin ils sont calés...

#3 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6947 messages

Posté 16 December 2014 - 21:50 PM

Bonsoir et bienvenue.

Merci d'utiliser la balise code <> lorsque vous postez du code, cela permet de le mettre en forme.

Concernant le passage de AS2 à AS3, ce n'est pas si simple mais la logique reste grosso modo la même, mais la syntaxe à un peu évolué.

Essayes :


// paramètres de l'application
stage.showDefaultContextMenu=false;
stage.scaleMode = "noScale";
stage.align = "TL";

//on définit le Listener
stage.addEventListener(Event.RESIZE, position);

// on lance une première fois la fonction pour placer les éléments
position(null);

// replace les éléments lors d'un redimensionnement de la scène
function position(e:Event):void {
    fond.y = 0;
        fond.x = 0;
        fond.width = stage.stageWidth;
        fond.height = stage.stageHeight;
        logo.y = 0;
        logo.x = -4;
        clip_central.x = Math.round((stage.stageWidth-clip_central.width)/2);
        clip_central.y = Math.round((stage.stageHeight-clip_central.height)/2);
        menu.x = Math.round(stage.stageHeight/2-menu.width/2);
        menu.y = 10;
};

 

J'ai un peu simplifié le code, mais les différences restent visibles :

"_y" devient "y"
"_x" devient "x"
"_width" devient "widht"
"_height" devient "height"
"Stage" devient "stage"
"Stage.width" devient "stage.stageWidth"
"Stage.Height" devient "stage.stageHeight"
... (voir doc pour plus d'infos sur les conversions).

On vois l'apparition de nouveaux types d'écouteurs qu'il suffit de déclarer sur l'objet (addEventListener sur le stage).
La fonction cible déclenchée par l'écouteur attend à présent un paramètre, ici l'objet renvoyé par l'écouteur.

Voici un exemple fonctionnel :

Fichier(s) joint(s)



#4 Nicephore75

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 16 December 2014 - 22:37 PM

Bonsoir,
Merci beaucoup pour ces réponses et conseils.
Je vais regarder tout cela en détail, et reviens vers vous si je bloque ou si je ne bloque pas afin de faire un retour.
Déja j'ai ouvert le fichier Flash et cela correspond en partie à mes recherches, voici donc une bonne base pour convertir mes ActionScript 2 en AS3.
Bonne soirée et merci encore.




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP