- 2008-09-30 (火) 18:33
- AS3
AS3クラスでの開発でぶちあたった問題。
読み込んだ外部SWFのリンケージに設定しているクラスを、親のSWF(クラス)側から呼び出したかったんだけど、うまくいかない。
AS3にまだ慣れてないのもあり、調べて見る。
いろいろググってみると、同じような悩みがあってどうやら「ApplicationDomain」を使えばいいとのこと。
とは言え、試してみても「ReferenceError: Error #1065: 変数 AboutPage は定義されていません。」と怒られるだけ。
数時間の格闘の末、何とか解決風。
_loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); //URL var urlReq:URLRequest = new URLRequest(url); var context:LoaderContext = new LoaderContext(); context.applicationDomain = ApplicationDomain.currentDomain; //読み込み開始 _loader.load(urlReq, context);
で読み込み段階で設定。読み込み後に
//読み込み完了
function onLoaded(event:Event):void {
var className:String = "xxxxx";
var target:* = event.target.content;
var myDomain:ApplicationDomain = _loader.contentLoaderInfo.applicationDomain;
var myClassRef:Class = myDomain.getDefinition("classes.pages." + className) as Class;
var classObj:Object = new myClassRef();
classObj.f_test();
}
で、正解なのかわからないけど、子クラスのf_test()が呼べたようだ~
- Newer: 謹賀新年
- Older: Progression を試してみる vol.2[外部ファイル読み込みメモ]
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://astronika.com/blog/2008/09/30-183352.php/trackback
- Listed below are links to weblogs that reference
- 外部SWFのクラスを親から使いたい[AS3メモ] from Astronika blog