as3 调用swf 的A类,这个A类里面要用到improt进来调用B类的C函数,因为调用的时候swf首先要初始化B才.... 10

as3调用swf的A类,这个A类里面要用到improt进来调用B类的C函数,因为调用的时候swf首先要初始化B才能调用C,但我现在要从外部获取在A类中调用的C的结果.Fl... as3 调用swf 的A类,这个A类里面要用到improt进来调用B类的C函数,因为调用的时候swf首先要初始化B才能调用C,但我现在要从外部获取在A类中调用的C的结果.
Flash 语言As3 语言
展开
 我来答
gjsgdhr
2017-04-21 · TA获得超过1799个赞
知道小有建树答主
回答量:665
采纳率:77%
帮助的人:461万
展开全部

从你表述的问题来看,ABC分别都是3个类,在一个swf中,而你想的是从外部调用C,问题这么描述没错吧。

但其实如果仅仅是调用C的话,其实根本不用经过A和B,即使C是在B中被引用,但是编译成swf之后,所有的类都会在加载完成后进行初始化,因此楼主的思路可以不用那么复杂。

举例来说,ABC分别都在一个叫a.swf的文件中,调用方式如下:

// 首先加载a.swf
var loader:Loader = new Loader();
loader.load(new URLRequest("a.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
// 加载完成后,直接获取C的类定义
function onLoaded(e:Event):void
{
    // 获取C类,注意必须是完整类名
    // 比如C类是在包 xxx 下,则参数应该为 xxx.C
    var class:Object = loader.contentLoaderInfo.applicationDomain.getDefinition("C");
    // 如果为静态类,则直接可以获取C的静态方法或属性
    class.属性名
    // 如果可以实例化,则直接用new 关键字实例化
    new class
 }
追问
我想调用C已经在swf内实例化的对象,不是调用它的函数啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式