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 :

Simple menu AS3


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut Simple menu AS3
    Bonjour,

    Voici mon problème, j'ai un menu qui appel plusieurs modules.swf, il remplace bien les anciens modules par les nouveaux, le truc c'est qu'il ne les décharges pas. Donc quand je suis sur le module où j'ai mon player, il continu à jouer même en quittant. idem pour les modules de galerie d'image, qui du coup lors de son premier lancement tout marche mais au second chargement tout bug.
    Pourtant j'utilise bien le unloadmovie, donc du coup je suis bloquer.

    Mon autre question est de savoir l'astuce pour charger plusieurs clip swf placer à divers endroit quand on appel un module par le menu. Pour le script est fait de façon à ce que chaque clip chargé soit placé dans un clip nommé loadAera1.
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    //vars
    var loadit:Loader = new Loader();
     
    //fonctions
    function home(e:Event) {
    	loadit.unload();
    	loadit.load(new URLRequest("Module - News.swf"));
    }
    function bio(e:Event) {
    	loadit.unload();
    	loadit.load(new URLRequest("Module - Bio.swf"));
    }
    function portfolio(e:Event) {
    	loadit.unload();
    	loadit.load(new URLRequest("Module - Portfolio.swf"));
    }
    function mediacenter(e:Event) {
    	loadit.unload();
    	loadit.load(new URLRequest("Module - MediaCenter.swf"));
    }
    function contact(e:Event) {
    	loadit.unload();
    	loadit.load(new URLRequest("Contact.swf"));
    }
     
    //Boutons
    buttonhome.addEventListener(MouseEvent.CLICK, home);
    buttonbio.addEventListener(MouseEvent.CLICK, bio);
    buttonportfolio.addEventListener(MouseEvent.CLICK, portfolio);
    buttonmediacenter.addEventListener(MouseEvent.CLICK, mediacenter);
    buttoncontact.addEventListener(MouseEvent.CLICK, contact);
     
    //Zone de placement du fichier
    loadArea1.addChild(loadit);

    Merci d'avance pour votre aide.
    NuNo.

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut

    completement inutile de faire ca (a part pour le chargement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var loadit:Loader = new Loader();
    	loadit.unload();
    	loadit.load(new URLRequest("Module - News.swf"));
    1-tu creer un nouveau loader
    2-tu demandes l'effacement de son contenu (il ne contient rien )
    3-tu demandes le chargement d'un SWF

    faudrait penser a garder une référence sur le dernier SWF chargé pour pouvoir l'effacer

    je rajouterais aussi qu'il serait bien d'utiliser les evenements de la classe LoaderInfo ...

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut
    Euh j'ai pas mis à jour le script sinon voici le script complet.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    import flash.media.SoundMixer;
     
    //Default
    var myLoader:Loader = new Loader(); addChild(myLoader); 
    var url:URLRequest = new URLRequest(""); 
    myLoader.load(url);
    var myIc:Loader = new Loader(); addChild(myIc); 
    var ur:URLRequest = new URLRequest(""); 
    myIc.load(ur);
     
     
    //vars
    var loadnews:Loader = new Loader();
    var loadbio:Loader = new Loader();
    var loadportfolio:Loader = new Loader();
    var loadmediacenter:Loader = new Loader();
    var loadcontact:Loader = new Loader();
    var loadiconenews:Loader = new Loader();
    var loadiconebio:Loader = new Loader();
    var loadiconeportfolio:Loader = new Loader();
    var loadiconemediacenter:Loader = new Loader();
     
     
    //functions
    function home(e:Event) {
    	loadbio.unload();
    	myLoader.unload();
    	loadportfolio.unload();
    	loadmediacenter.unload();
    	loadcontact.unload();
    	loadnews.load(new URLRequest("*.swf"));
    	loadiconebio.unload();
    	myIc.unload();
    	loadiconeportfolio.unload();
    	loadiconemediacenter.unload();
    	loadiconenews.load(new URLRequest("*.swf"));
    	SoundMixer.stopAll();
    }
    function bio(e:Event) {
    	loadnews.unload();
    	myLoader.unload();
    	loadportfolio.unload();
    	loadmediacenter.unload();
    	loadcontact.unload();
    	loadbio.load(new URLRequest("*.swf"));
    	loadiconenews.unload();
    	myIc.unload();
    	loadiconeportfolio.unload();
    	loadiconemediacenter.unload();
    	loadiconebio.load(new URLRequest("*.swf"));
    	SoundMixer.stopAll();
    }
    function portfolio(e:Event) {
    	loadnews.unload();
    	myLoader.unload();
    	loadbio.unload();
    	loadmediacenter.unload();
    	loadcontact.unload();
    	loadportfolio.load(new URLRequest("*.swf"));
    	loadiconenews.unload();
    	myIc.unload();
    	loadiconebio.unload();
    	loadiconemediacenter.unload();
    	loadiconeportfolio.load(new URLRequest("*.swf"));
    	SoundMixer.stopAll();
    }
    function mediacenter(e:Event) {
    	loadnews.unload();
    	myLoader.unload();
    	loadbio.unload();
    	loadportfolio.unload();
    	loadcontact.unload();
    	loadportfolio.load(new URLRequest("*.swf"));
    	loadiconenews.unload();
    	myIc.unload();
    	loadiconebio.unload();
    	loadiconeportfolio.unload();
    	loadiconeportfolio.load(new URLRequest("*.swf"));
    	SoundMixer.stopAll();
    }
    function contact(e:Event) {
    	loadnews.unload();
    	myLoader.unload();
    	loadbio.unload();
    	loadportfolio.unload();
    	loadmediacenter.unload();
    	loadcontact.load(new URLRequest("*.swf"));
    	loadiconenews.unload();
    	myIc.unload();
    	loadiconebio.unload();
    	loadiconeportfolio.unload();
    	loadiconemediacenter.unload();
    	SoundMixer.stopAll();
    }
     
     
    //Bt
    bthome.addEventListener(MouseEvent.CLICK, home);
    btbio.addEventListener(MouseEvent.CLICK, bio);
    btportfolio.addEventListener(MouseEvent.CLICK, portfolio);
    btmediacenter.addEventListener(MouseEvent.CLICK, mediacenter);
    btcontact.addEventListener(MouseEvent.CLICK, contact);
     
     
    //Loader
    loadArea1.addChild(loadnews);
    loadArea2.addChild(loadbio);
    loadArea3.addChild(loadportfolio);
    loadArea4.addChild(loadmediacenter);
    loadArea5.addChild(loadcontact);
    loadic1.addChild(loadiconenews);
    loadic2.addChild(loadiconebio);
    loadic3.addChild(loadiconeportfolio);
    loadic4.addChild(loadiconemediacenter);
    Doit y avoir plus simple mais pour le moment y a que comme ça que j'ai réussi à obtenir ce que je voulais.

  4. #4
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    une petite regle qui fonctionne pour tous les languages de programmation : si tu es obligé de taper plusieurs fois le meme code, c'est que ton appli est mal pensé

    utilise les evenements de la classe LoaderInfo et surtout stocke un référence sur le dernier SWF chargé, ca te permettra de l'effacer facilement

Discussions similaires

  1. Convertir un menu AS3 en AS2
    Par psyckott dans le forum Flash
    Réponses: 0
    Dernier message: 28/04/2009, 12h12
  2. Chargement d'un .swf dans un menu AS3
    Par Lakitorai dans le forum ActionScript 3
    Réponses: 15
    Dernier message: 17/04/2009, 11h20
  3. un simple menu : Transitional vers strict
    Par gomodo dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 13/01/2009, 21h30
  4. comment faire un simple menu avec images en background
    Par cortex024 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/05/2007, 20h57
  5. Création d'un simple menu graphique
    Par Megalomanu dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 25/04/2006, 10h51

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