Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash FLEX:闪存组件未接收它';s自己的定制活动_Flash_Apache Flex_Components_Swc_Dispatchevent - Fatal编程技术网

Flash FLEX:闪存组件未接收它';s自己的定制活动

Flash FLEX:闪存组件未接收它';s自己的定制活动,flash,apache-flex,components,swc,dispatchevent,Flash,Apache Flex,Components,Swc,Dispatchevent,我用flash制作了一个movieclip,它发送一个自定义事件:MyEvent.THE_TYPE=“THE_TYPE” 在flex中,我有:由于Flash和flex之间的限制,您不能像在flex中那样使用MC。您必须使用“addEventListener”将事件侦听器手动添加到MC中。请定义“不工作”的含义。我假设您收到了编译器警告。此代码: <fx:Metadata> [Event(name="the_type", type="...")] </fx:Metadat

我用flash制作了一个movieclip,它发送一个自定义事件:MyEvent.THE_TYPE=“THE_TYPE”


在flex中,我有:
由于Flash和flex之间的限制,您不能像在flex中那样使用MC。您必须使用“addEventListener”将事件侦听器手动添加到MC中。

请定义“不工作”的含义。我假设您收到了编译器警告。此代码:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 
在do_something处理程序方法中,必须传递事件(MXML中不需要):


请访问:forums.adobe.com/message/3668890#3668890了解我如何解决问题的详细说明

对我来说,主要的问题是[Event…]元数据标签


一旦我将其放入flash mc中,Flex就开始识别组件对自定义事件的需求(代码提示列出了该事件)。

“不工作”:flash组件正在接收其mousedown事件(在flash中的时间轴上的flash mc中定义)。mousedown事件正在调度一个自定义事件(我可以从mc:onHandleMyCustomEvent中跟踪它……现在我已经将它注释掉了,这样它就不会捕获该事件)。flex中的代码暗示没有显示任何与自定义事件相关的内容。flex编译器没有抛出错误(我希望是)。我使用的是我在这里找到的方法:。。。他不使用@user689152,不需要指定元数据来分派或侦听事件。您如何知道Flash组件正在接收其mousedown事件?您提到了时间线,但在Flex应用程序中将组件用作SWC时,您将无法获得此类信息。您提到可以在处理程序内部进行跟踪。如果是这样,则事件必须触发。flash组件在其自己的鼠标按下处理程序中有一个跟踪。。。该跟踪显示在Flex中的控制台中。。。事件总是在发生,但我无法让flex检测到it@user689152您将必须提供更多代码,以便我们确定问题所在。你说的似乎不可信。请看:关于我如何解决问题的详细解释。。。(对我来说)主要的问题是[事件…]元数据。。。一旦我把它放进flash mc中,Flex就开始意识到该组件需要定制事件(代码提示列出了事件)。@user689152回答您自己的问题的正确方法是回答您自己的问题并将其标记为自定义事件。尽管如此,您的解决方案(使用元数据)对我来说意义不大。元数据的存在不应影响事件是否触发,您链接到的问题集中在代码暗示上;而你在这里的问题声称事件不会发生。两个完全不同的问题。很抱歉。。。但stackoverflow不允许我在我的原始帖子发布至少8小时后“回答”我的问题。。。为什么我的回答对你没有意义??我没说我在启动这项活动时遇到了麻烦。。。我说我在接受活动时遇到了麻烦。。。如果我的flash组件中没有[Event…]元数据,flash的flex插件无法将事件发送到flex环境(尽管flash环境将按预期运行)…@user689152 True;您确实说过您在接收(即收听)事件时遇到问题。然而,你的回答与此无关;它只与MXML中的代码暗示有关。my answer和@J_A_X answer都告诉您如何在ActionScript中侦听事件,而不必将元数据放在适当的位置。我提到了代码暗示,因为它是一个指标,表明flex确实可以“访问”事件。如果没有这种“通道”,它就永远听不到它的声音。。。代码暗示是问题解决过程中的一个基准(对我来说)。-1由于之前在对主要问题的评论中所述的原因,我对这个答案进行了回答。Flex不需要元数据来侦听事件或分派事件。元数据只用于IDE中的代码暗示(以及生成ASDoc)。你给了我一个-1来回答这个问题?你怎么了。。。我的答案有效。。。如果它对你不起作用,那么对你自己的解决方案和我的解决方案之间的差异给出一个有意义的解释。。。但不要开始否定。。。你会误导将来可能会看到这篇文章的人。我给了你一个-1分,因为你提供了一个与你实际问题无关的答案。从我对第一个问题的评论中可以看出:“元数据的存在不应该影响事件是否触发,您链接到的问题集中在代码暗示上;而您在这里的问题声称事件不会触发。两个截然不同的问题”元数据与事件是否触发无关;它只与代码暗示有关。解电离的过程通常是一条进化的、曲折的路径。。。期望每个解决方案都与其原始问题有直接的线性关系是不现实的。你的-1误导了未来的读者。。。我的解决方案“与(我的)实际问题无关”这一事实是由于解决问题本身的性质(坦率地说,这是你的主观意见)。。。
<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 
<local:my_flash_mc the_type="do_something()" />
my_Flash_MC_Instance.addEventListener('the_type',do_something);
protected function do_something(event:MyEvent):void{
 // processing here
}