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 :

Problème d'accès aux variables d'un MovieClip chargé dynamiquement


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Par défaut Problème d'accès aux variables d'un MovieClip chargé dynamiquement
    Bonjour à tous,

    Pour l'application sur laquelle je travaille, j'ai 2 types d'interface utilisateur: une en 16/9 et une en 4/3, les 2 comportent les mêmes objets mais sont disposées différemment.

    Pour ne pas avoir à écrire deux fois mes scripts, je charge ces variables depuis un swf de base interface_base.swf qui ne comprend qu'un clip chargement_ecran qui va contenir mon interface visuelle.

    En fonction du contexte je charge l'interface 4/3 ou 16/9. Dans chacune de ces interface visuelle, il y a un clip ecran qui doit charger un autre swf. Je voudrais ne mettre aucun script dans les fichiers interface_4_3 et interface_16_9, ils ne sont qu'une couche de présentation.

    Mon problème est que je n'arrive pas à accéder à ce clip ecran depuis l'interface de base. Je m'explique .

    - Je charge interface_16_9.swf dans ecran_chargement
    - Lorsque je veux accéder à ecran_chargement.ecran, ça me dit que la variable est undefined

    Avez-vous une idée de pourquoi?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut
    bonjour,

    première piste à étudier : vérifier que le swf soit bel et bien chargé avant d'interroger l'objet.
    exemple qui ne marche pas :
    _root.mon_clip.loadMovie("fichier.swf");
    trace(_root.mon_clip.ma_variable);
    ça ne passe pas car ton fichier "fichier.swf" n'est pas encore chargé dans "_root.monclip"

    à vérifier donc de ton coté, car si la var écran éxiste bel et bien sur le root de chacun de tes deux fichiers :
    _root.ecran_chargement.ecran
    devrait être reconnue par le flash player.

    bien à toi

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Par défaut
    Je connais ce problème, c'est pour cela que j'ai utilisé un Listener:

    voici la portion de mon code concernée:

    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
    var loadListener:Object = new Object();
    loadListener.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number):Void {
    	_root.ecran = ecran_chargement.ecran;
    	ecran_chargement.ecran.loadMovie("animations/" + _root.g_tTypeLieu[_root.type_lieu_courant]);
    }
    
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(loadListener);
    
    
    function onMessage(chaine)
    {
    	_root.xml_file = "lieu_"+chaine.firstChild.attributes.lieu+".xml";
    	_root.lieu_chargement = chaine.firstChild.attributes.lieu;
    	_root.type_lieu_courant = chaine.firstChild.attributes.type;
    	if (_root.type_lieu_courant >= 3 ) {
    		mcLoader.loadClip("animations/interface_4_3.swf", ecran_chargement);
    	} else {
    		mcLoader.loadClip("animations/interface_16_9.swf", ecran_chargement);
    	}
    }
    quand je mets les 2 lignes en gras dans interface_4_3.swf, ça fonctionne sans problème et je peux afficher _root.ecran, elle vaut "_level0.ecran_chargement.ecran" mais comme ça, ça ne fonctionne pas.

  4. #4
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut
    je pense que la solution ets là :
    _root.ecran = ecran_chargement.ecran;

    à remplacer par :
    _root.ecran = _root.ecran_chargement.ecran;

    bien à toi.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Par défaut
    Merci encore pour ta réponse.

    Je viens de tester ta proposition et ça ne fonctionne pas. _root.ecran reste undefined.

    Je ne vois vraiment pas pourquoi ça ne fonctionne pas. Soit j'ai fait une énorme boulette, soit ce n'est pas possible (mais ça serait tout de même étonnant)

  6. #6
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut
    bonjour,

    je ne suis une buse je n'ai pas vu ça :

    var loadListener:Object = new Object();
    loadListener.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number):Void {
    _root.ecran = ecran_chargement.ecran;
    ecran_chargement.ecran.loadMovie("animations/" + _root.g_tTypeLieu[_root.type_lieu_courant]);
    }

    ta deuxième ligne tu charge à nouveau ... dans une var, non dans un un mc, non ?

    bien à toi.

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

Discussions similaires

  1. Problème enum et tableau (accès aux variables)
    Par vangoeth dans le forum Android
    Réponses: 24
    Dernier message: 21/12/2012, 20h29
  2. [C#] Accès aux variables Session
    Par kalan dans le forum ASP.NET
    Réponses: 9
    Dernier message: 31/08/2005, 16h40
  3. [FLASH MX2004] [AS2] Accès aux variables d'une classe
    Par stailer dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/07/2005, 12h58
  4. [Language]Accès aux variables
    Par Adaemon dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2005, 14h17
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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