2011-01-02 7 views
1

im mit dieser Methode zum Laden eine SWF in einer anderen SWF geladen wird: (dieser Code innerhalb main.swf)Pässe var Werte von einem zu einem anderen SWF SWF, die im Innern des firts eines in AS3

function loadImage(url:String):void { 
imageLoader = new Loader(); 
imageLoader.load(new URLRequest(url)); 
imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, imageLoading); 
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded); 
} 
loadImage("test1.swf"); 

function imageLoaded(e:Event):void { 
MyMovieClip.addChild(imageLoader); 
} 

Der Gedanke ist der test1.swf braucht einen Wert, wer ist in der Loader swf (main.swf), wie kann ich den Wert übergeben? Vielen Dank!

Antwort

1

Sie könnten eine Klasse für die geladene SWF (test1.swf) erstellen, die Sie mit der Document-Klasse zuweisen können.

In dieser Klasse erstellen Sie einen Setter für die Werte, die Sie an die geladene SWF übergeben müssen.

//Here the choice of Array is arbitrary & depends on what values 
    //you need to pass to the SWF... 
    private var _params:Array; 
    public function set params(value:Array):void 
    { 
     _params = value; 
    } 

Dann in der Hauptklasse, können Sie Folgendes tun:

//Assuming you'd like to pass a number of values... 
    function imageLoaded(e:Event):void { 

     var content:MovieClip = imageLoader.content as CustomClass; 
     content.params = [ value1 , value2... valueN]; 
     MyMovieClip.addChild(content); 
    } 
+0

Hallo PatrickS, wenn Sie einen Moment haben, können Sie sich das anschauen? Http://StackOverflow.com/Questions/6933387/How-to-pass-a-String-from-a -swf-in-ein anderes-swf –

0

Sie müssen auf den Inhalt des Loaders zugreifen, um dies zu tun. In deiner imageLoaded-Funktion mache das.

(e.target.content as Object).someParam = "whatever"; 

Es gibt eine Reihe von Sicherheitseinschränkungen zu berücksichtigen, (Dies wird als Cross-Scripting bezeichnet), aber wenn man zwei SWFs aus der gleichen Domäne laden, sollten Sie kein Problem haben.

+0

Wie ist das btw genau geschrieben? Damit meine ich, wie passt es in die genaue Ladefunktion, die sie geschrieben hat? Ich habe das gleiche Problem :( –

Verwandte Themen