IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

migration as2 vers as3 : quelle est la meilleure façon de faire


Sujet :

ActionScript 3

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut migration as2 vers as3 : quelle est la meilleure façon de faire
    Bonjour à tous!!

    J'ai déjà fait pas mal de sites en as2 et en as3.

    Par contre c'est la première fois qu'un client me demande de migrer un site de as2 vers as3.

    J'ai tendance à penser qu'il faut tout refaire (enfin si on veut être propre )mais je demande à ceux qui ont déjà été confronté au problème de me conseiller sur la meilleure façon de faire.


    Merci à tous de vos retours d'expérience

  2. #2
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    C'est une operations lourde et si tout était en class avec des modules indépendant sa sera rapide a faire la transitions vers as3 sinon si comme de nombreux site as2 c'était un foutoir monstre , bah ...

    En effet dans le second cas il faudrait refaire de maniere brute en faisant une simple 'traduction' ou une refonte complète.

    Au fait tu lui as dit que sa servait a rien de faire ce genre d'opération a ton client ? Sauf si le site disposé n'enorme effet speciaux ou qu'il souffrait de gros ralentissement.

    Good Luck

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Merci de ta réponse;

    en fait je ne vois ce client que mardi et je ne sais pas encore pourquoi il souhaite faire cette migration.

    Merci de ton conseil

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Salut IP-Fix

    Je viens de voir mon client; en fait il doit le faire car il doit forcement converser avec d'autres modules Flash qui sont en as3.

    Y a-t-il déjà un logiciel qui permet de traduire déjà les choses de base? ou pas? ; ?
    Le reste ce sera à repenser. Mais heureusement il y a beaucoup de classes donc codé assez proprement.

    T'as de conseils à me passer?
    Merci!!

  5. #5
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Aucun logiciel ne fais de traduction automatique.

    Le seul conseil que je peux te donner c'est d'être propre et orienté Objet dans ta façon de coder. Après malheureusement pas de formule miracle

    hésite pas a remanier des choses et a te faire un schéma ( ou un uml pas trop formel ) sur papier histoire de voir s'il y a pas des choses que tu pourrais améliorer avec l'as3.

    Code beaucoup de class et profite de l'heritage a fond , c'est rapide et sa coute pas cher

    Bonne chance.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Merci de tes conseils.
    ton "bon chance" tombe bien ....

    chau

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Un petit programme qui fait une "traduction" AS2 vers AS3 :
    http://www.5etdemi.com/convert/index.php
    C'est bien pratique !

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Merci je vais tester ça car heureusement j'ai beaucoup de classes (l'actionscript 2 était assez propre). ça va me permettre d'éviter de faire de copier / coller répétitifs

    merci encore

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Tony-b

    cet outil de conversion est d'une grande utilité!!!! merci!

    cepedant j'avais cru comprendre que des choses du genre _root ne fonctionnent plus sur as3.

    Désolée ce n'est pas moi qui est créé les classes et bien que j'aime pas du tout le _root, il a été utilisé dans les classes que je dois convertir.

    Suffit-il de l'enlever? ou il faut que je place root sans le _??

    Voici un exemple d'une courte méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function uiMenuArrowUpPress():void{
    	trace("TemporaryBasalRate.uiMenuArrowUpPress()");
     
    	_root.pumpSounds.playSound("sound_D20");
    	_root.pumpStateManager.movePreviousState(this);
     
    		};
    donc qui appelle une fonction se trouvant sur le premier niveau du stage.

    quelle est la bonne façon de faire?

    merci encore

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    je reviens car je me trouve avec de choses du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    //****************************************************************************
    	//Events Mechanisim	
    	//****************************************************************************
    		public var addEventListener:Function;
    		public var removeEventListener:Function;
    		protected var dispatchEvent:Function;	
     
     
    		//Constructor
    		public function ConfigAPI(){
    			trace("ConfigAPI Constructor");
     
    			//Init Event Mechanisim
    			mx.events.EventDispatcher.initialize(this); 
     
    			buttonsToIgnore = new Array();
     
     
    		}
    ....mmmhhhh les events étant gérés maintenant au niveau de tout objet.... je crains que j'ai pas mal de boulot pour retirer ceci de mes classes et faire une gestion as3 des events

    quel conseil?? merci!!

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Je crois que le mieux c'est que je passe au constructeur de ma classe le stage, comme ça je peux appeller les méthodes qu'il faut des classes ayant été créées sur le stage (disons sur le premier niveau)

    de même pour les events ; disons que si je garde mon stage dans une variable de la classe que je nomme _stage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _stage.addEventListener(Event.ENTER_FRAME, frameUpdateHandler);
    je peux gérer mes add et remove Events


    Pour des nouveaux events je dois créer mes classes qui étendent Event et MouseEvent comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private var eventEvent:Class = VirtualMouseEvent;
    		private var mouseEventEvent:Class = VirtualMouseMouseEvent;

    Bon je vous raconte ceci pour que vous me confirmiez si c'est un bon choix et pour que ce post puisse servir à d'autres.

    chau

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Salut

    En fait dans l'appli as2 que je dois migrer j'ai le souci suivant:

    - pas mal de clip directement sur la scène donc avec un nom d'instance ex: clip_mc

    - puis pas mal de classes as2 qui font de références du genre _root.clip_mc


    Bon, je suis un petit peu desesperée car je ne sais pas trop comment faire.

    1: Dois-je supprimer le nom de l'instance puis le remplacer par
    var clip_mc:ClipMC = new ClipMC()? pour pouvoir avoir accès depuis les classes as3???

    HELP please!!!

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Beeen, ça ne marche pas

    COMMENT ACCEDER DIRECTEMENT A UN CLIP DEPOSE SUR LA SCENE (DONC PAS CREE DINAMYQUEMENT) DEPUIS UN CLASSE


    je me sens bête car ça ne devrait pas être trop compliqué;

    instance_mc du clip sur la scène

    puis var niania:MaClasse = new MaClasse();

    et dans MaClasse.as je souhaite accéder à instance_mc.

    j'ai essayé:
    root.instance_mc
    stage.root.instance_mc
    instance_mc

    AUCUN NE MARCHE

    j'ai décidé de passer mon clip en paramètre à la classe mais je ne crois pas que ce soit la soluss...


  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 261
    Points : 107
    Points
    107
    Par défaut
    salut;
    dans ce que tu as ecris; et si je ne me trompe pas; tu devrais cibler tes clips
    tu dis :
    puis var niania:MaClasse = new MaClasse();

    et dans MaClasse.as je souhaite accéder à instance_mc.
    donc
    en ciblant sa serait

    this.parent.instance_mc;
    reste du code .......
    (ensuite ect ect ect....) dans ta class
    essaye le ... sinon une autre personne aurra une autres piste
    tu vois en gros le principe..
    si scene.clip1.clip2.clip3
    alors this.parent.parent.clip3;(si je dis pas de betise)
    jamais root..
    a bientot

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    salut et merci

    le problème c'est que this dans une classe fait référence à la classe et pas au contexte.

    finalement j'ai décidé de passer this en paramètre (le this de l'anim donc) et mes anciens _root encapsulent le this que je reçois

    var niania= new MaClasse(this)

    et dans MaClasse(monthis:Object) je fais

    _root = monthis;

    et comme ça je ne casse pas trop les classes as2 que je dois migrer.


  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 261
    Points : 107
    Points
    107
    Par défaut
    salut,
    ok pour pour l'analyse;

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 261
    Points : 107
    Points
    107
    Par défaut
    rebonjour,
    c'est mieu ainsi:
    this.parent.parent.["clip3"];
    as3 prefere mieux cette ecriture.
    complement au post.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2008, 12h29
  2. Quelle est la meilleure façon de lisser un signal?
    Par regress dans le forum Traitement du signal
    Réponses: 16
    Dernier message: 06/02/2008, 12h36
  3. Quelle est la meilleure maniere de faire une count?
    Par farenheiit dans le forum Administration
    Réponses: 20
    Dernier message: 16/11/2007, 16h45
  4. Réponses: 3
    Dernier message: 09/05/2006, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo