在Flex的帮助文档里,有很多例子都是扩展Sprite类的。如果想把这些实例添加到你的s:Application中,如:addChild(DisplayObject ),肯定会出错。错误的大致意思是:flash.display::Sprite没有实现mx.core.IUIComponent接口。
Sprite->DisplayObjectContainer ->InteractiveObject ->DisplayObject ->EventDispatcher ->Object
从Sprite的继承关系来看,它虽然是DIsplayObject但是它没有实现IUIComponent,不能直接添加到Flex组件里是当然的了。
Flex文档上指出所有的可视化控件都继承自UIComponent 而它自己是实现了IUIComponent 接口的。UIComponent 允许添加Sprite和MovieClip。
经常使用到的做法是:
var comp: UIComponent = new UIComponent();
comp.addChild(sprite);
cavas1.addChild(comp);
这样flash控件就能正常在flex组件里显示了。
举个例子我在as文件中这么写
package components
{
import flash.display.*;
import flash.net.URLRequest;
public class Main extends Sprite {
public function Main( ) {
var loader:Loader = new Loader( );
addChild( loader );
loader.load( new URLRequest( "img/aa.jpg" ) );
}
}
}
然后具体显示就想上面说的那样
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import components.Main;
import mx.core.UIComponent;
function init():void{
var comp: UIComponent = new UIComponent();
var main:Main=new Main();
comp.addChild(main);
this.addElement(comp);
}
]]>
</fx:Script>
</s:Application>
分享到:
相关推荐
在本文中,我们将深入探讨如何在Flex环境中创建一个图片展示控件,该控件具有放大镜效果。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。通过使用Flex,我们可以轻松地创建交互式、...
4. **设计界面**:使用MXML定义UI布局,将街景控件添加到舞台上,并设置其属性,如初始视角、可滚动范围等。 5. **测试与优化**:运行项目,检查街景控件的性能和用户体验,根据需要进行调整。 四、运行与调试 在...
Flex SDK提供了一系列的UI组件,如Canvas、Sprite等,这些都可以作为构建仪表盘的基础。开发者需要利用ActionScript编写逻辑代码,控制指针的旋转、刻度的绘制以及颜色的变换。渐变效果可以通过Flash的图形API来实现...
在本文中,我们将深入探讨如何在Flex应用中实现一个类似百度地图的距离测量功能。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它提供了丰富的图形用户界面组件和强大的数据绑定...
在Flex中,这可能在`Application`或`Sprite`的`creationComplete`事件中完成。 - 加载XML数据后,根据XML内容初始化程序状态,如设置UI控件的文本、隐藏/显示元素、设置初始值等。 6. **错误处理**: 在加载和...
在3D螺旋相册中,每个图片都会被封装为一个DisplayObject,并添加到特定的容器(如Sprite或Canvas)中,容器可以进行3D变换,从而实现整体的3D效果。 5. **动画与时间轴控制**:为了使相册中的图片动态地旋转,...
- **Flex SDK工具**:包括mxmlc(用于编译MXML和ActionScript到SWF文件)和compc(用于编译多个源文件到SWC文件)。 ##### 2. MXML详解 - **基本元素**:MXML是Flex的标记语言,用于定义UI组件和布局。 - **执行...
- **强大的用户界面组件库**:提供了丰富的UI控件,如表格、菜单等,方便开发者快速搭建界面。 - **数据绑定与模型驱动**:通过数据绑定机制,可以轻松实现视图与模型之间的同步更新。 - **高性能渲染引擎**:...
在FLA文件中,可以创建实例,将AS3类绑定到舞台上对象,从而实现代码和界面的交互。 五、使用MXML MXML是一种声明式语言,常用于Flex框架,可以简化UI组件的创建。虽然MXML不是必需的,但与AS3结合使用可以提高开发...
4. JSNI 5. 在GWT中使用XML 6. GWT控件详解 7. 使用GWT控件 8. GWT-RPC 9. Ext GWT 10. (实战)俄罗斯方块游戏 11. (实战)费用申请审批流程 12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. 本地化 15. 其他高级功能
3. **Flex Framework**:Flex框架提供了丰富的组件库,包括UI控件、数据绑定和动画效果。通过源代码,我们可以了解到如何利用这些组件构建游戏界面,并实现动态效果。 4. **网络通信**:魔力学堂作为一款网络游戏,...
- Flex SDK提供了丰富的预建UI组件,如Button、Slider等,可以简化UI开发。 8. **性能优化**: - 媒体解码和渲染优化,如使用硬件加速、合理使用缓存和位图数据。 - 适当的事件处理和内存管理,防止内存泄漏和...
ActionScript 3.0 是Adobe开发的一种面向对象的编程语言,主要用于创建富互联网应用程序(RIA),尤其是Flash和Flex项目。这个“ActionScript 3.0 中文语言和组件参考”是一份详细的指南,旨在帮助开发者深入理解和...