Flex4的可视化显示对象

简介: flex3中用addChild(child:DisplayObject) 增加显示对象,flex4中用addElement(element:IVisualElement)。绝大多数的flex3显示控件都是从DispalyObject继承的,所以在flex3中增加显示对象非常容易。

 flex3中用addChild(child:DisplayObject) 增加显示对象,flex4中用addElement(element:IVisualElement)。绝大多数的flex3显示控件都是从DispalyObject继承的,所以在flex3中增加显示对象非常容易。一旦到了flex4,要显示sprite shape Bitmap都会报错,因为都没有实现IVisualElement接口。习惯了flex3,再用flex4的时候还真有点不适应了。

   从adobe帮助文档可以看到直接实现IVisualElement接口的只有如下几个,

GraphicElement, SpriteVisualElement, StyleableTextField, UIComponent, UIMovieClip,spark.primitives 名字空间下的所有类也间接实现了IVisualElement。

 

   直接实现的类都比较轻量级的,所以把你要显示的sprite等加入到这些类中,再把这些类加入可视对象即可

 

 

var spr:Sprite = new Sprite();

var sve:SpriteVisualElement = new SpriteVisualElement();

 

 

 

spr.graphics.beginFill(0xFF0000, 1);

spr.graphics.drawRect(10, 10, 10, 10);

spr.graphics.endFill();

sve.addChild(spr); 

 

 

this.addElement(sve);

 

 

 

    显示位图的做法是,使用spark.primitives下面的BitmapImage

 

var data:BitmapData = new BitmapData( 400, 400, false);

data.fillRect(data.rect, 0x0000FF);

 

    var bitmap:BitmapImage = new BitmapImage();

    bitmap.source = data;

    bitmap.x=50;

    bitmap.y=50;

 

    this.addElement(bitmap);

 

 

 

或者采用SpriteVisualElement类似的做法,把Bitmap加入到UIComponet中

 

var data:BitmapData = new BitmapData( 400, 400, false);

data.fillRect(data.rect, 0x0000FF);

 

var ui:UIComponent = new UIComponent();

 

var bitmap:Bitmap = new Bitmap(data);

ui.addChild(bitmap);

 

this.addElement(ui);

相关文章
|
存储 算法
【优选算法专栏】专题十六:BFS解决最短路问题---前言
【优选算法专栏】专题十六:BFS解决最短路问题---前言
224 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
360 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
消息中间件 Cloud Native Dubbo
贡献 18 个议题,和我们来畅聊 CommunityOverCode Asia 2024
CommunityOverCode 是 Apache 软件基金会(ASF)的官方全球系列大会,其前身为 ApacheCon。今年,CommunityOverCode Asia 将于 7 月 26-28 日在杭州举办。届时,大会将展示 Apache 项目的最新突破,共同探讨 Apache 的运作生态、Apache 软件的商业模式、开源的法律问题以及其他许多主题的内容。
414 102
|
12月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
412 1
|
数据采集 机器学习/深度学习 人工智能
AI 大模型助力客户对话分析 评测
AI 大模型助力客户对话分析 评测
263 1
|
运维 Devops 持续交付
现代运维的转型:从传统模式到DevOps的演进
本文将探讨现代IT运维领域正在经历的一场深刻变革:从传统的运维模式向DevOps文化和实践的转型。通过分析传统运维的挑战、新兴技术的推动力以及DevOps的核心理念,本文旨在为读者提供一个全面的视角,理解如何通过这一转型实现效率提升、风险降低和更高的业务价值。
441 33
|
Java Maven
Maven运行builder出现Failed to execute goal on projectXXXXX错误
Maven运行builder出现Failed to execute goal on projectXXXXX错误
351 7
|
编解码 算法 程序员
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(三)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
292 0
下一篇
oss云网关配置