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

Flash Discussion :

D'AS2 à AS3, suite.


Sujet :

Flash

  1. #1
    Invité
    Invité(e)
    Par défaut D'AS2 à AS3, suite.
    Bonjour,

    Toujours dans mon apprentissage d'AS3, je reviens avec une petite suite de script AS2 impossible à lire sur Flash CC.
    Voici une page avec un fichier flash couvrant 100% de la page. http://www.lagalerieauximages.com/flash_as2/
    Pour la position des éléments, Archimède m'a converti le script en AS3, cela fonctionne à merveille, encore merci à lui.

    Pour cette page, j’avais utilisé des boutons invisibles avec un script pour le logo et les titres sur le module central.
    Pour l’œil qui suit la souris, j'ai un script sur directement sur le clip œil.
    Pour le fond qui change lorsque l'on passe sur un titre, j'ai un script sur une ligne dédiée directement sur le scénario.

    Voici le script pour le logo ( le problème est identique avec les titres, donc je ne mets que celui-ci )*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    on (rollOver) {
              this.gotoAndPlay(1);
             }
    on (rollOut) {
             this.gotoAndPlay(14);
    }
    on (release) {getURL("http://www.lagalerieauximages.com/" , "_parent");
     
    }
    Le script pour l’œil*:

    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
    onClipEvent (load) {
        // emplitude du mouvement
        // plus le nombre est grand, moin l'oeil bouge
        _root.emplitude_x = 150;
        _root.emplitude_y = 80;
        // position normale (x et y) de l'oeil
        _root.position_y = 337;
        position_x = 500.0;
    }
    onClipEvent (enterFrame) {
        // le script est vraiment tout bête
        this._x = position_x+this._xmouse/_root.emplitude_x;
        this._y = _root.position_y+this._ymouse/_root.emplitude_y;
     
    }
    Le script utilisé pour le fond*:

    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
    21
    22
    clip_central.bt_graph.zone_bt_graph.onRollOver=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(6) 
    } 
    clip_central.bt_graph.zone_bt_graph.onRollOut=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(1) 
    }
     
     
    clip_central.bt_web.zone_bt_web.onRollOver=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(6) 
    } 
    clip_central.bt_web.zone_bt_web.onRollOut=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(1) 
    }
     
     
    clip_central.bt_photo.zone_bt_photo.onRollOver=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(11) 
    } 
    clip_central.bt_photo.zone_bt_photo.onRollOut=function(){ 
    this._parent._parent._parent.fond.gotoAndPlay(1) 
    }
    Si j'ai un peu compris le principe, en AS3 on place tous les script sur une seul page dans le scénario et l'on les applique à un objet.

    Merci pour vos lumières.

    Alain.
    Dernière modification par beekeep ; 22/01/2015 à 22h14. Motif: Merci d'utiliser la balise [CODE]

  2. #2
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut
    bonjour
    pour ton sprite90 œil
    il faut déjà viré tout les actions sur les boutons en as3.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    on (rollOver)
    {
        this.gotoAndPlay(1);
    }
    on (rollOut)
    {
        this.gotoAndPlay(14);
    }
    on (release)
    {
        getURL("http://www.lagalerieauximages.com/", "_parent");
    }
    donc ca vire
    et dans la première image du calque que tu as appelé Action Layer
    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
    import flash.events.MouseEvent;
     
    stop ();
     
    logo.addEventListener(MouseEvent.ROLL_OVER, goto1);
    logo.addEventListener(MouseEvent.ROLL_OUT, goto14);
    logo.addEventListener(MouseEvent.CLICK, adresse);
     
     
    function goto1(event:MouseEvent):void{
    	gotoAndPlay(1);
    }
    function goto14(event:MouseEvent):void{
    	gotoAndPlay(14);
    }
    function adresse(event:MouseEvent):void{
    	var request:URLRequest = new URLRequest("http://www.lagalerieauximages.com/");
        navigateToURL(request,"_parent");
    }
    ton sprite 90 je l' ai appelé logo dans le panneau de propriété.

    voila en gros la façon de faire pour un bouton.
    il y a du boulot.
    comme c'est pas simple de pas louper une etape j'ai mis un fla simplifier et un swf .
    http://www.citroen-france-tours-nord...ore75/oiel.fla
    http://www.citroen-france-tours-nord...ore75/oiel.swf
    http://www.citroen-france-tours-nord...m/Nicephore75/

    @+ gustave02

  3. #3
    Invité
    Invité(e)
    Par défaut De AS2 vers AS3
    Merci Gustave, j'ai téléchargé les fichiers.
    Ton tuto est très clair.
    Je vais pouvoir l'appliquer aux autres boutons.
    Voici une partie du problème résolu.

    A+ Alain.

  4. #4
    Invité
    Invité(e)
    Par défaut Changer l'image de fond avec un survol de bouton en AS3
    Suite de ma recherche.
    J'ai déjà une partie de ma réponse, pour mes boutons, c'est ok.
    A présent j'ai essayé de changer le fond avec un survol du bouton.
    J'ai donc ajouté un clip "fond" avec 2 images sur le fichier créé par Gustave : http://www.lagalerieauximages.com/fl...AS3_oeil_2.fla .
    Pour le script j'ai essayé d'ajouter des lignes directement dans le script du bouton, mais sans succès.

    Merci pour vos lumières.

    PS : Pour l'oeil qui suit la souris, je suis toujours preneur.

    Alain.

  5. #5
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut re
    salut
    c'est exactement le même principe. Ta façon d'aborder le problème par petit bout n'est pas dans la philosophie as3.
    il faut que ton scenario soit défini et ensuite tu crées ton code dans la configuration final.

    par ex dans ton nouvelle environnement ,le code que l'on avait placé dans le sprite 90 que j'avais nommé logo, pourrait être place dans un calque action de l’anime général.

    en sachant que si tu souhaite faire comme dans le swf index6 une fonction preload pour voir le chargement de ton anime l’environnement changera donc le code changera.

    Il me reste une question, cherches tu as apprendre l'as3 ou quelqu 'un qui peut créer ton code?.

    @+ gustave02.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    Pour répondre à ta question, je suis graphiste et photographe, alors je n'aurai jamais du code as3 à créer en masse.
    J'avais quelques codes as2 sous le bras pour faire des petits trucs sympa sur flash.
    Depuis Flash CC ces codes sont un peu obsolètes et j'essaye de les mettre à jours.
    Pour le code mis sur le sprite 90, j'avais compris que je pouvais le mettre sur un calque action de l’anime général.
    Mais par exp je ne comprends pas dans le code que tu avais fait et qui fonctionne très bien :

    logo.addEventListener(MouseEvent.ROLL_OVER, goto1);
    logo.addEventListener(MouseEvent.ROLL_OUT, goto14);
    logo.addEventListener(MouseEvent.CLICK, adresse);


    function goto1(event:MouseEvent):void{
    gotoAndPlay(1);
    }
    function goto14(event:MouseEvent):void{
    gotoAndPlay(14);
    }
    function adresse(event:MouseEvent):void{
    var request:URLRequest = new URLRequest("http://www.lagalerieauximages.com/");
    navigateToURL(request,"_parent");
    }

    pourquoi on liste 2 fois les actions ?
    J'ai essayé d'y joindre une action pour faire changer le fond au survol du bouton, mais cela ne fonctionne pas.

    Voilà, j''espère avoir répondu.
    Merci.
    Alain.

  7. #7
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut re
    voila ma façon de penser pour aider les autres a apprendre et comprendre et les débloquer en cas de problème,c'est logique. c'est sans blême dans les limites de mes connaissances as3.
    si c'est pour créer le site d'un pro gratos c'est non.

    tu dis
    pourquoi on liste 2 fois les actions ?
    moi je dis
    quelles "2 fois les actions ? "

    logo.addEventListener(MouseEvent.ROLL_OVER, goto1); // ceci veut juste dire que tu crées un écouteur d’événement
    addEventListener ajoute a la liste des événements a surveiller "quand" la souris passe au dessus de logo.si l’événement se produit déclenche la fonction goto1. tu pourrais appeler ta fonction comme tu veux ex banane.
    la j'ai mis goto1 car en relisant je comprend tout de suite ce que cette fonction va faire.

    function goto1(event:MouseEvent):void{ // donc la fonction goto1 qui est déclenché par un event événement de type MouseEvent c'est a dire souris et dois la lecture a aller a l'image1 et la lire
    gotoAndPlay(1);//ce code etant placer dans le sprite 90 il déclenche la lecture de ce sprite
    }

    donc tu dois créer un écouteur d’événement et sa fonction.

    je pense que tu dois d'abord créer tout tes élément graphique et définir ce que chaque l’élément doit faire . l'élément == a un objet .

    après seulement créer un calque action sur l"anime général, puis les écouteurs et enfin les actions.
    @+gustave02

  8. #8
    Invité
    Invité(e)
    Par défaut
    Merci pour ce supplément d'info.
    Je vais essayer d'appliquer cette méthode sur un scénario simple, bouton animé + images de fond à changer et je verrai ce que cela donne.

    Bon W.E.
    Alain.

  9. #9
    Invité
    Invité(e)
    Par défaut
    J'ai essayé de mettre en pratique les infos de ton dernier mail Gustave, mais je me heurte à quelques soucis.

    J'ai mis un calque action sur la scene principale avec les écouteurs et fonctions du logo, j'ai viré le script sur le sprite 90. Dans la fonction, j'ai ajouté l'ocurence «*logo*», sauf pour l'adresse émail, je ne savais pas où le placer. Ca ne fonctionne pas.


    import flash.events.MouseEvent;

    stop ();


    logo.addEventListener(MouseEvent.ROLL_OVER, goto1);
    logo.addEventListener(MouseEvent.ROLL_OUT, goto14);
    logo.addEventListener(MouseEvent.CLICK, adresse);


    function goto1(event:MouseEvent):void{
    logo.gotoAndPlay(1);
    }
    function goto14(event:MouseEvent):void{
    logo.gotoAndPlay(14);
    }
    function adresse(event:MouseEvent):void{
    var request:URLRequest = new URLRequest("http://www.lagalerieauximages.com/");
    navigateToURL(request,"_parent");
    }



    Ensuite j'ai essayé d'associer 2 fonctions à 1 écouteur pour déclancher le clip du sprite 90 et passer à l'image 2 du clip «*fond*» en faisant un roll over et revenir à la 1 en roll out.
    Sur le clip fond, j'ai mis un calque action et le script suivant, me disant que l'écouteur étant déjà défini sur le sprite 90 il me restait juste à associer la fonction demandée sur ce clip. Ce n'est pas ça non plus.
    Peut-être faut-il que le script soit sur le calque du scénario général, mais comment le déclarer*???


    function goto1(event:MouseEvent):void{
    gotoAndPlay(2);
    }
    function goto14(event:MouseEvent):void{
    gotoAndPlay(1);
    }

    A vrai dire c'est sourtout la dernière fonction du changement de fond qui me pose problème.
    Le clip bouton fonction avec son script sur le clip, ce n'est peut-être pas l'idéal mais c'est déjà ça.
    http://www.lagalerieauximages.com/as3_tuto_3.fla . Sur ce fichier, j'ai le logo qui fonctionne avec un calque action vide et un calque avec le clip fond.

    Merci.

    Alain.

  10. #10
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut bonsoir
    bonsoir a savoir si tu veux avancer il faut aller pas a pas donc tu dis

    J'ai mis un calque action sur la scene principale avec les écouteurs et fonctions du logo, j'ai viré le script sur le sprite 90. Dans la fonction, j'ai ajouté l'ocurence «*logo*», sauf pour l'adresse émail, je ne savais pas où le placer. Ca ne fonctionne pas.

    moi je vois rien de ce que tu dis dans le fla que tu donnes.

    fait pas a pas tu verras c'est plus simple pour lever les problemes.
    @+ gustave02

  11. #11
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut bonsoir
    bonsoir a savoir si tu veux avancer il faut aller pas a pas donc tu dis

    J'ai mis un calque action sur la scene principale avec les écouteurs et fonctions du logo, j'ai viré le script sur le sprite 90. Dans la fonction, j'ai ajouté l'ocurence «*logo*», sauf pour l'adresse émail, je ne savais pas où le placer. Ca ne fonctionne pas.

    moi je vois rien de ce que tu dis dans le fla que tu donnes.

    fait pas a pas tu verras c'est plus simple pour lever les problèmes.
    @+ gustave02

  12. #12
    Invité
    Invité(e)
    Par défaut
    Non, le fla je l'ai remis à plat car ça bugait.
    Alors j'ai juste mis les éléments comme tu m'avais dit.
    Déjà afin de savoir si la procédure de base était bonne.

    Alain.

  13. #13
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut
    fais pas a pas et envois ton fla
    je te dirais pourquoi ça bloque.comme ca tu vas avancer. a mon avis ton n' as pas nommé tes objet
    au boulot
    @+

  14. #14
    Invité
    Invité(e)
    Par défaut
    Tu veux dire les occurences des clip ?
    Déjà mon idée de base, a savoir que si l'écouteur : logo.addEventListener(MouseEvent.ROLL_OVER, goto1) existe, il peut servir pour 2 fonctions, celle pour le logo qui existe déjà et un nouvelle pour le fond placé sur le clip fond, est-elle bonne ??

  15. #15
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut
    avec un seul écouteur tu peux exécuter une fonction qui déclenche deux actions.
    moi je te demande de repartir du départ en virant les codes dans le sprite 90 et de les mettre dans le calque action de l'anime général et si ça bug envois le fla
    on verra pourquoi ensemble.
    @+

  16. #16
    Invité
    Invité(e)
    Par défaut
    Voilà 2 fichiers Gustave:
    Celui fonctionne pour le bouton avec le script sur la calque action et plus sur le bouton : http://www.lagalerieauximages.com/as3_tuto_4.fla , en revanche, je ne sais pas où placer le nom de l'occurence sur le clic.
    Sur celui_ci j'ai essayé de rajouter les fonctions sur le fond mais là ça plante. http://www.lagalerieauximages.com/as3_tuto_5.fla

    Alain.

  17. #17
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut bien
    je pars avec as3_tuto5
    c'est bien tu as bien nommé tes objets logo et fond ( pour logo si tu clic dessus tu entre dans sa timeline il encore nommé logo pas cool);
    alors pour comprendre copier colle le code et essay
    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
    21
    22
    23
    24
     
    logo.addEventListener(MouseEvent.ROLL_OVER, goto1);
    logo.addEventListener(MouseEvent.ROLL_OUT, goto14);
    logo.addEventListener(MouseEvent.CLICK, adresse);
     
     
    function goto1(event:MouseEvent):void{
    	logo.gotoAndPlay(1);
    }
    function goto14(event:MouseEvent):void{
    	logo.gotoAndPlay(14);
    }
    function adresse(event:MouseEvent):void{
    	var request:URLRequest = new URLRequest("http://www.lagalerieauximages.com/");
         navigateToURL(request,"_parent");
    }
    /////dessous le code est bloqué il ne sera pas execute 
    /*
    function goto1(event:MouseEvent):void{
    	fond.gotoAndPlay(2);
    }
    function goto14(event:MouseEvent):void{
    	fond.gotoAndPlay(1);
    }*/

  18. #18
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut suite
    tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    logo.addEventListener(MouseEvent.ROLL_OVER, goto1);
    function goto1(event:MouseEvent):void{
    	logo.gotoAndPlay(1);
    }
    function goto1(event:MouseEvent):void{
    	fond.gotoAndPlay(2);
    }
    /
    pas bon car tu as deux fonction qui porte le même nom. marche pas
    tu veux que ta fonction fasse 2 actions donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function goto1(event:MouseEvent):void{
    	logo.gotoAndPlay(1);
            fond.gotoAndPlay(2);
    }
    ok tu vois ce qu'il faut faire?
    @+ gustave02

  19. #19
    Invité
    Invité(e)
    Par défaut
    Voici la mise à jour http://www.lagalerieauximages.com/as3_tuto_6.fla
    Impeccable ça fonctionne.

    Génial, merci beaucoup Gustave.
    Une dernière question, si je rajoute d'autres script, on peut le placer juste en dessous ou il y a t'il des séparations à faire ?

    Alain.

  20. #20
    Membre actif Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Points : 225
    Points
    225
    Par défaut
    donc tu dis " Impeccable ça fonctionne." cool n’oublie pas que tu dois faire les choses pas a pas.

    tu demandes "Une dernière question, si je rajoute d'autres script, on peut le placer juste en dessous ou il y a t'il des séparations à faire ?"

    tu peut placer ton code dessous ou dessus et il n'y a pas de séparation a faire.
    @+ gustave02

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [FLASH 8] Migration AS2 -> AS3 ?
    Par CUCARACHA dans le forum EDI/Outils
    Réponses: 7
    Dernier message: 24/09/2006, 19h51

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