守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 809|回复: 1

[框架相关] flex发布swf与flash发布SwF通讯

[复制链接]
  • TA的每日心情
    慵懒
    2015-12-4 10:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    7

    帖子

    459

    积分

    中士

    Rank: 4

    威望
    3
    贡献
    0
    金币
    194
    钢镚
    5
    发表于 2015-9-10 10:44:54 | 显示全部楼层 |阅读模式
    flex比较简单

    派发加冒泡:
    1. dispatchEvent(new Event("onLoaded",true));
    复制代码

    公开自己方法
    1. public function show():void
    2. {
    3.                                 trace("flex show function");
    4.                         }
    复制代码

    然后将发布的各种swf拷贝到 flash的项目下

    flash项目:
    1. private function init(e:Event = null):void
    2.                 {
    3.                         removeEventListener(Event.ADDED_TO_STAGE, init);
    4.                         // entry point
    5.                         loader = new Loader();
    6.                         loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
    7.                         loader.load(new URLRequest("TestFlex.swf"));
    8.                 }
    9.                
    10.                 private function loaded(e:Event):void
    11.                 {
    12.                         mc = loader.content as MovieClip;
    13.                         mc.addEventListener("onLoaded", mcLoadedHandler); //侦听 没什么好说的
    14.                         addChild(mc);
    15.                 }
    16.                
    17.                 private function mcLoadedHandler(e:Event):void
    18.                 {
    19.                         MovieClip(mc).application.show();   //要在mc 添加进舞台之后才能找到相关东西,不然为null
    20.                 }
    复制代码

    大概就是这样,说说我如何找到这个show的吧
    首先就是各种折腾。 flex 加载进来的 loader.content 居然是一个mx.managers.SystemManager类,然后我进它类看了下接口  无非就是继承的MovieClip  那么ok 我把loader.content as MovieClip 然后MovieClip(mc).show();
    必然就报错了,再打断点看mc下有些什么方法和属性
    [inherited]  一开始没add之前,很多为Null 那么Ok 等他addChild(mc)之后,我再来一个断点
    看到 [inherited] 里面有  application = TestFlex@95db0a1 这个TestFlex就是我的swf了 然后就简单了 mc.application.show(); 还是报错 改一下 强制MovieClip(mc).application.show();
    搞定 帅气!

    评分

    参与人数 2威望 +1 金币 +40 收起 理由
    shawn00 + 20 很给力!
    破晓 + 1 + 20 赞一个!

    查看全部评分

    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-10 08:53
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    0

    主题

    2

    帖子

    128

    积分

    列兵

    Rank: 2

    威望
    0
    贡献
    0
    金币
    115
    钢镚
    0
    发表于 2015-9-10 17:12:22 | 显示全部楼层
    赞 赞 赞 赞 赞
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-10-19 15:20 , Processed in 0.042555 second(s), 30 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表