使用 Flex 附加带有 ActionScript3 的 Sprite

Posted

技术标签:

【中文标题】使用 Flex 附加带有 ActionScript3 的 Sprite【英文标题】:Attaching a Sprite With ActionScript3 Using Flex 【发布时间】:2013-04-19 19:54:39 【问题描述】:

所以我使用 Flex 来访问其中包含的一些有用的库,但我不想处理 MXML 的东西。所以我都是用纯 AS3 写的。

基本上,我正在使用这个 MXML 加载主 AS3 类:

<?xml version="1.0" encoding="utf-8"?>
<local:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="asset.*" />

现在,AS3 接管并完成所有工作。但是,当我尝试使用 addChild() 方法向我的主 Canvas 类(它只是扩展应用程序)绘制一些东西时,它会抛出这个错误:

Type Coercion failed: cannot convert MyObject to mx.core.IUIComponent.

我也尝试将其直接添加到Canvas 对象的stage,但它为空。

有什么建议吗?

【问题讨论】:

您使用的是 Flex 组件还是只是 Flex 框架中包含的有用实用程序?如果是后者,您可以获取适当的 SWC 文件并使用标准的 ActionScript 项目。我正在使用我正在构建的一个项目来做这件事(为了我的目的,导入了 framework.swc、rpc_rb.swc 和 rpc.swc) 【参考方案1】:

假设MyObjectDisplayObject 的子类,您可以将对象包装在UIComponent 中。

var uicomponent:UIComponent = new UIComponent(); 
uicomponent.addChild(yourObject);
canvas.addChild(uiComponent);

【讨论】:

以上是关于使用 Flex 附加带有 ActionScript3 的 Sprite的主要内容,如果未能解决你的问题,请参考以下文章

在 Flex 上附加一个 textarea 文本字段

使用 Flex/ActionScript 获取服务器结果

在 flex 中使用 Actionscript (MovieClip) 类

需要帮助使用 Flex/ActionScript 3 创建平滑的翻转或 FishEye 效果

Actionscript 发送带有信息的自定义事件

在 flex 应用程序中使用 mxml 优于 actionscript 有啥优势?