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 :

Menu dynamique sous Flash MX


Sujet :

Flash

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Points : 50
    Points
    50
    Par défaut Menu dynamique sous Flash MX
    Bonjour,

    je désire créer un menu dynamique à partir d'un fichier XML. Chaque partie du menu est un movie-clip qui sera dupliqué lors du déroulement du menu. Quel est le moyen le plus simple de réaliser ce menu (utilisation de classes?). Dois-je stocker les données XML en mémoire ou aller les chercher au besoin? Si je dois les stocker, quelle structure de données conviendrait le mieux?

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    Le plus simple pour réaliser ce menu est d'effectivement recupérer les donner (au besoin)
    Créer dynamiquement tes clips et les remplir avec tes donner.
    ensuite il ne te restera qu'a les dupliquer comme tu le souhaiteras

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Est-ce que je dois créer une classe afin que tous les movie clip héritent des mêmes fonctions? Si oui, comment créer une classe? D'autrepart, comment gère-t-on les mouvements de la souris sur les mc: quand le pointeur est sur un menu(mc), un sous-menu constitué de ces fils apparaissent..

  4. #4
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    Première chose :

    Tu es sur quel Flash ? (merci de relir ceci http://www.developpez.net/forums/vie....php?t=123554)

    Deuxième chose :

    Effectivement tu pourras créer une fonction générique pour tous tes clips, et pour les évenement souris, il y a une FAQ ou tout est expliqué.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Pour la version de Flash que j'utilise, c marké dns le sujet : flash MX

    Ensuite, j'ai lu la FAQ, je connais déjà les fonctions. Ce que je n'arrive pas à faire, c'est l'utilisation de la souris sur les MC. J'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    _root["menu"+0].onRollOver = function () {} 
    _root["menu"+1].onRollOver = function () {} 
    ...
    mais je ne veux pas définir la méthode à chq MC. Je veux que ca soit générique.

    Comment faire une classe en ActionScript?

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut classe
    en actionscript 1, il n'est pas possible de définir des classes comme on le fait de manière classique en POO. A partir d'actionscript 2.0 (MX 2004), c'est possible.

    Toutefois, en flash MX, il est possible de résoudre ton problème comme ceci:


    D'abord tu crées ton MC statiquement dans la bibliothèque, ensuite tu fais une laison vers actionscript, en cliquant sur le bouton droit sur ton MC->liaison->ensuite tu donnes le nom par défaut.

    Ensuite tu crées une "classe" comme ceci:

    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
    function Ma_Classe(){
    	// création de propriété personnalisées
    	this.Propriete1="Propriété 1" ;
    	this.Propriete2="Propriété 2";
    }
    // Héritage de la classe MovieClip(), important!
    Ma_Classe.prototype=new MovieClip();
    // Ajout d'une méthode, ce que tu veux faire
    Ma_Classe.prototype.onRollOver=function(){
    	trace(this);
     
    }
    //Affectation de la classe "Ma_Classe" à ton MC
    Object.registerClass("monmc", Ma_Classe);
     
    //Chargement dynamique du MC (sinon ça marche pas)
    _root.attachMovie("monmc","monmc1",1);
    //positionnement du MC
    _root.monmc1._x=100;
    _root.monmc1._y=100;
    _root.attachMovie("monmc","monmc2",1);
    //positionnement du MC
    _root.monmc1._x=300;
    _root.monmc1._y=100;
    Après avoir exécuté ceci, tu auras deux occurences de ton movieclip "monmc" sur la scène, passe au dessus avec la souris et tu verras qu'il t'affichera le nom des occurences créées, ici, en l'occurence, il t'affichera "_level0.monmc2" lorsque tu survoleras l'occurence "monmc2" et "_level0.monmc1" lorsque tu survoleras l'occurence "monmc1".

    Donc en définitive c'est bien ce que tu voulais, une seule fonction créée qui s'appliquent à toutes les occurences de ton movieclip.

    ciao

  7. #7
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut profondeur
    pour le deuxième MC, j'ai fait une petite erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _root.attachMovie("monmc","monmc2",1);
    il faut mettre ceci, une autre profondeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _root.attachMovie("monmc","monmc2",100);

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Points : 50
    Points
    50
    Par défaut
    Merci pour ton aide
    C'est exactement ce que je voulais. Je pense qu'avec tes conseils je devrais pouvoir m'en sortir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage menu JS sous flash
    Par linfo78 dans le forum Intégration
    Réponses: 2
    Dernier message: 13/12/2009, 17h53
  2. menu dynamique sous licence
    Par karinal dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2007, 12h23
  3. Pb d'affichage d'image dynamique sous Flash
    Par raldine dans le forum Flash
    Réponses: 4
    Dernier message: 12/02/2007, 11h19

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