FLEX:闪存组件未接收其自己的自定义事件

发布于 2024-11-06 09:15:20 字数 503 浏览 5 评论 0 原文

我在 flash 中制作了一个电影剪辑,用于调度自定义事件: MyEvent.THE_TYPE = "the_type"

in flex 我有:

但是,这不起作用。

在闪光中,我的事件气泡设置为 true。在闪存中一切正常。

在 Flex 中我没有使用:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

... 因为我认为这仅适用于自定义 Flex 事件;另外 .swc 已经编译,因此没有理由在此处的类型参数中识别事件类。

我尝试在我的事件类中创建一个“名称”属性,但这并没有成功。

有什么想法吗?

谢谢

I made a movieclip in flash that dispatches a custom event: MyEvent.THE_TYPE = "the_type"

in flex I have: <local:my_flash_mc the_type="do_something()"

however, this is not working.

in flash, my event bubbles is set to true. everything works fine in flash.

in flex I am NOT using:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

... because I think that this only pertains to custom flex events; plus the .swc is already compiled, so no reason to identify the event class in the type param here.

I tried creating a 'name' property in my event class, but that didn't do it.

any thoughts?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

做个ˇ局外人 2024-11-13 09:15:20

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

You can't use your MC like that in Flex because of the limitation between Flash and Flex. You'll have to manually add event listeners to your MC using 'addEventListener'.

我是男神闪亮亮 2024-11-13 09:15:20

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

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

告诉 Flex 编译器该事件存在,并让它在 MXML 中的代码提示中使用。所以,我猜测这是:

<local:my_flash_mc the_type="do_something()" />

抛出编译器错误。这是正确的吗?解决方案是在 ActionScript 中添加事件侦听器:

my_Flash_MC_Instance.addEventListener('the_type',do_something);

在 do_something 处理程序方法中,您必须传递事件(MXML 中不需要):

protected function do_something(event:MyEvent):void{
 // processing here
}

Please define what "not working" means. I assume you are receiving a compiler warning. This code:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

Tells the Flex Compiler that the event exists and will let it be used in code hinting in MXML. So, I'm guessing that this:

<local:my_flash_mc the_type="do_something()" />

Is throwing a compiler error. Is that correct? The solution is to add the event listener in ActionScript:

my_Flash_MC_Instance.addEventListener('the_type',do_something);

In the do_something handler method, you will have to pass the event (which isn't required in MXML):

protected function do_something(event:MyEvent):void{
 // processing here
}
山人契 2024-11-13 09:15:20

请参阅:forums.adobe.com/message/3668890#3668890 有关我如何解决问题的详细说明...

对我来说,主要问题是 [Event ...] 元数据标记。

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

please see: forums.adobe.com/message/3668890#3668890 for a detailed explanation of how I solved my problem ...

the main issue, for me, was the [Event ...] metadata tag.

once I put it inside my flash mc, Flex began to recognize the component's need for the custom event ( code hinting listed the event ).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文