【发布时间】:2011-08-22 14:22:39
【问题描述】:
我在 Flash 中制作了一个动画剪辑,它调度了一个自定义事件:MyEvent.THE_TYPE = "the_type"
在 flex 中我有:<local:my_flash_mc the_type="do_something()"
但是,这不起作用。
在 Flash 中,我的事件气泡设置为 true。在 Flash 中一切正常。
在 flex 中我没有使用:
<fx:Metadata>
[Event(name="the_type", type="...")]
</fx:Metadata>
... 因为我认为这仅与自定义弹性事件有关;加上 .swc 已经编译好了,所以这里没有理由在 type 参数中标识事件类。
我尝试在我的事件类中创建一个“名称”属性,但没有成功。
有什么想法吗?
谢谢
【问题讨论】:
-
请参阅:forums.adobe.com/message/3668890#3668890 详细说明我如何解决我的问题......主要问题(对我来说)是 [EVENT ...] 元数据......一旦我把它放进去我的 flash mc,Flex 开始认识到该组件需要自定义事件(代码提示列出了该事件)。
-
@user689152 回答您自己的问题的正确方法是回答您自己的问题并将其标记为此类。尽管如此,您的解决方案(使用元数据)对我来说没有多大意义。元数据的存在应该不会影响事件是否触发,并且您链接到的问题侧重于代码提示;而您的问题在这里声称该事件不会触发。两个截然不同的问题。
-
对此感到抱歉...但是 stackoverflow 不允许我在原始帖子至少 8 小时后“回答”我的问题...为什么我的回答对您没有意义?我没有说我在触发事件时遇到了问题……我说我在接收事件时遇到了问题……并且在我的 flash 组件中没有 [Event ...] 元数据,flash 的 flex 插件无法调度flex 环境的事件(尽管 flash 环境将按预期运行)...
-
@user689152 真;您确实说过您无法接收(AKA 收听)该事件。但是,您的回答与此无关;它仅与 MXML 中的代码提示有关。我的回答和@J_A_X 回答都告诉您如何在 ActionScript 中侦听事件,而无需准备好元数据。
-
我提到了代码提示,因为它表明 flex 至少可以“访问”事件。如果没有这种“访问”,它永远不会以一种或另一种方式听到它......代码提示是问题解决过程中的基准(对我而言)。
标签: flash apache-flex components swc dispatchevent