BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / flash / #34052同步于 2008/4/28
Flash机器人发帖

[合集] [求助]有学Flex的吗?

xw2423
2008/4/28镜像同步0 回复
☆─────────────────────────────────────☆ wdsuus (newbie) 于 (Fri Apr 18 11:15:10 2008) 提到: 问个技术问题,Flex里面能调用swf文件,如何在这种调用环境下让swf文件调用修改Flex里的变量和函数?就是子调用主的过程,谢谢! ☆─────────────────────────────────────☆ wdsuus (newbie) 于 (Fri Apr 18 12:56:36 2008) 提到: 最好是直接交互,不用侧面方法和Localconnect的 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Fri Apr 18 13:22:11 2008) 提到: 我记得好像每个组件都有一个parent属性..appliction的parent属性默认为null 不知道这里是不是有办法改一下 【 在 wdsuus (newbie) 的大作中提到: 】 : 最好是直接交互,不用侧面方法和Localconnect的 ☆─────────────────────────────────────☆ wdsuus (newbie) 于 (Fri Apr 18 14:40:44 2008) 提到: 【 在 dickfu 的大作中提到: 】 : 我记得好像每个组件都有一个parent属性..appliction的parent属性默认为null : 不知道这里是不是有办法改一下 如果直接调用_parent的话会报错说没有parent,_root也不行…… 试了一下ExternalInterface也不行 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Fri Apr 18 14:50:33 2008) 提到: 默认是null啊....但是不知道怎么修改... 【 在 wdsuus (newbie) 的大作中提到: 】 : 如果直接调用_parent的话会报错说没有parent,_root也不行…… : 试了一下ExternalInterface也不行 ☆─────────────────────────────────────☆ wdsuus (newbie) 于 (Fri Apr 18 15:09:10 2008) 提到: 查了下手册,那个属性好像是只读的…… 【 在 dickfu 的大作中提到: 】 : 默认是null啊....但是不知道怎么修改... ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Fri Apr 18 15:15:02 2008) 提到: 不知道这段有没有用 Flex2.01之后提供了modules模块化开发包,开发者可以将程序的某些模块编译成swf,在需要的地方load进去,实现模块化的开发。 现在问题来了,每个module会被编译成swf,在一个Application中,module之间该如何通信交互呢。 通常来说,在一个swf中,组件间的交互通信可以直接addEventListener 和dispatchEvent来完成事件的传递。当然这样标准的做法也适用于module。理解在AS 3.0中事件遵循向上传递的原则,那么下面的工作就好做了。 例如,在一个Application中分别由ModuleLoaderA和ModuleLoaderB加载了两个module,分别为moduleA和moduleB,其中A需要向B传递数据。事件的传递就应该是这样的:moduleA –> ModuleLoaderA –> Application –> ModuleLoaderB –> moduleB。 1. 首先当然先要定义一个事件,那么在moduleA里应该由this.parent.parent来dispatchEvent(事件),this.parent即加载moduleA的ModuleLoaderA,那么this.parent.parent即Application; 2. 在Application中,由ModuleLoaderA来addEventListener(事件),即侦听了由moduleA传上来的事件,侦听到之后再由ModuleLoaderB负责dispatchEvent(事件)。 3. 在moduleB里,this.parent.parent.addEventListener(事件),这样就侦听了由ModuleLoaderB传递的事件。 其实在module里,使用this.systemManager.addEventListener/dispatchEvent也可以完成事件的传递,但是如果一个module里用this.systemManager,而另一个module里使用this.parent.parent却不能传递事件,systemManager并不等于application,systemManager.document才是application,也就是说用systemManager的话必须两者都用,用parent的话也可以使用systemManager.document。不明白的朋友可以仔细阅读Flex的帮助文档。 【 在 wdsuus (newbie) 的大作中提到: 】 : 查了下手册,那个属性好像是只读的…… ☆─────────────────────────────────────☆ wdsuus (newbie) 于 (Fri Apr 18 15:26:48 2008) 提到: 我先研究一下,多谢小付了! 【 在 dickfu 的大作中提到: 】 : 不知道这段有没有用 : Flex2.01之后提供了modules模块化开发包,开发者可以将程序的某些模块编译成swf,在需要的地方load进去,实现模块化的开发。 : 现在问题来了,每个module会被编译成swf,在一个Application中,module之间该如何通信交互呢。 : ...................
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。