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 :

cibler une classe d'un autre swf sur un swf principal


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 94
    Par défaut cibler une classe d'un autre swf sur un swf principal
    Salut !

    Je chercher à utiliser la classe d'un swf (une fois que je l'ai chargé avec un Loader()) que je voudrais attacher sur mon swf principal.

    Par exemple j'ai un main.swf :
    Et un Multimédia .swf :

    Si dans multimédia j'ai une classe Ballon

    Comment puis-je faire pour instancier cette classe sur mon swf principal ?

    On m'a dis que la classe ci dessous résolvais le problème, seulement je n'arrive pas à l'utiliser correctement.

    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
     
    package {
     
    	class ClassLoader extends EventDispatcher {
    		public static var CLASS_LOADED:String="classLoaded";
    		public static var LOAD_ERROR:String="loadError";
    		private var loader:Loader;
    		private var swfLib:String;
    		private var request:URLRequest;
    		private var loadedClass:Class;
     
    		public function ClassLoader() {
     
    			loader=new Loader();
    			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
    			loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
    			loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
     
    		}
     
    		public function load(lib:String):void {
    			swfLib=lib;
    			request=new URLRequest(swfLib);
    			var context:LoaderContext=new LoaderContext  ;
    			context.applicationDomain=ApplicationDomain.currentDomain;
    			loader.load(request,context);
    		}
     
    		public function getClass(className:String):Class {
    			try {
    				return loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
    			} catch (e:Error) {
    				throw new IllegalOperationError(className+" definition not found in "+swfLib);
    			}
    			return null;
    		}
    	}
    }
    Si qq'un à une idée, ou une autre solution je suis a votre écoute !

    Merci !
    @+

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 94
    Par défaut
    Je viens de trouver !

    voici comment j'ai procéder

    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
     
    var l:Loader = new Loader();
    l.contentLoaderInfo.addEventListener(Event.COMPLETE, onAssetsLoad);
    l.load(new URLRequest("assetSWF.swf"));
     
    var Shape1:Class; // this will be your Shape1 class once the .swf is loaded
     
    function onAssetsLoad(e:Event):void {
        Shape1 = e.target.applicationDomain.getDefinition("Shape1");
        addShape();
    }
     
    // now that the asset swf is loaded you can make use of your Shape1 class as usual
    function addShape():void {
        var myShape:MovieClip = new Shape1();
        addChild(myShape);
    }

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

Discussions similaires

  1. [c#]Passer un paramètre d'une classe a l'autre
    Par skysee dans le forum Windows Forms
    Réponses: 12
    Dernier message: 05/12/2006, 18h19
  2. Réponses: 12
    Dernier message: 14/08/2006, 12h55
  3. Réponses: 4
    Dernier message: 25/07/2006, 16h30
  4. Utilisation d'une classe dans un autre fichier
    Par melotron dans le forum Général Python
    Réponses: 1
    Dernier message: 09/07/2006, 13h11
  5. Réponses: 8
    Dernier message: 30/05/2006, 01h26

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