AS3显示对象
DisplayObject 类是可放在显示列表中的所有对象的基类。也就是可以显示在swf舞台上面的可视对象都是继承DisplayObject,下面我们来看一张DisplayObject的子类继承类图。
DisplayObject的子类AVM1Movie,Bitmap,InteractiveObject, MorphShape, Shape,StaticText,Video;在这里将主要介绍InteractiveObject;(题外:YEAH!!也许你已经发现了,InteractiveObject才是亲妈生的,这让我想起了我学校我专业就TMD不是他妈亲生的一样….)。
InteractiveObject,查看api可知(这里非常推荐经常使用api查看,这样会有助于你那方面的提高,也许你懂的!_=)。,InteractiveObject 类是用户可以使用鼠标和键盘与之交互的所有显示对象的抽象基类。这句话的意思就是继承自InteractiveObject,则会你会拥有与鼠标和键盘的交互功能(说白点就是呢可以和鼠标和键盘交流感情,然后。。没有然后了。。。)!are you ok?
InteractiveObject的子类是DisplayObjectContainer,SimpleButton,TextField。他们都可以使用户可以使用鼠标和键盘与之交互的所有显示对象。也就是说可以侦听addEventListener鼠标事件(MouseEvent)和键盘事件(KeyboardEvent
)。
DisplayObjectContainer 类是可用作显示列表中显示对象容器的所有对象的基类,该显示列表管理在 Flash Player 或 Adobe AIR 中显示的所有对象,子类是Loader, Sprite, Stage, TextLine。也就是说继承自DisplayObjectContainer的类对象都具有把其他显示对象添加到此容器的功能。还是那句话,需要经常查看api帮助文档。经常用到的api有addChild,addChildAt,removeChild,removeChildAt,setChildIndex等,米娜桑都可以在api中查看,很详细的哦,亲!!
SimpleButton我很少用到,就咱不介绍了,需要了解的朋友可以继续查看api文档。这里需要注意的是addChild,removeChild添加和移除的显示对象都是继承自DisplayObject,也就是说只要是继承自DisplayObject的对象,都可以在显示容器中添加或者移除。
TextField 类用于创建显示对象以显示和输入文本,SWF 文件中的所有动态文本字段和输入文本字段都是 TextField 类的实例。如果你需要创建文本文字,那么你来对地方了,使用TextField的实例可以显示你需要显示的文字,对,就是你在swf中看到的文字,我们就可以使用TextField的实例来显示它。接下来不用我多说了,你可以查看api,查看api中的实例,试着创建一些文字到swf舞台上。
Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件,使用
load()
方法来启动加载。被加载的显示对象将作为 Loader 对象的子级添加。YEAH!!因为Loader是继承显示对象的,我们可以把Loader的实例添加到显示列表中,就可以直接显示拉。这里就提一个经常出错的地方,当我们侦听图片或者swf文件是否被加载完成Event.COMPLETE,是不能直接使用Loader的实例去添加的。我们可以查看Loader的事件api中,是没有Event.COMPLETE的。
我们可以使用LoaderInfo类去侦听;可以通过DisplayObject类的loaderInfo属性来引用LoaderInfo对象,或者通过Loader类的contentLoaderInfo属性来引用LoaderInfo对象。
Sprite 对象与影片剪辑类似,但没有时间轴。Sprite 是不需要时间轴的对象的相应基类,这个类使用们经常使用的,创建一个项目的时候,我们的入口类就是继承自Sprite,一般我们创建一个显示对象就需要继承Sprite。他拥有Graphics属性,所有显示对象中只有Shape和Sprite具有Graphics功能的。
Stage 类代表主绘图区。对于在浏览器中(使用 FlashPlayer)运行的 SWF 内容,Stage 表示显示 Flash 内容的整个区域。对于在 AIR 中运行的内容,每个 NativeWindow 对象都有一个相应的 Stage 对象。无法以全局方式访问Stage 对象。而是需要利用 DisplayObject 实例的
stage
属性进行访问。Stage 类具有多个始祖类 – DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher,属性和方法便是从这些类继承而来的。从这些继承的许多属性和方法不适用于 Stage 对象,或在调用 Stage 类时需要安全检查。需要安全检查的属性和方法被记录为 Stage 类的一部分。(摘自官方API,如需更详细的可以查看API)。
Bitmap 类表示用于表示位图图像的显示对象,这些图像可以是使用 flash.display.Loader 类加载的图像,位图类其实是潜力股,在他的基础上面有很大的优化空间,最直接的就是flashPlayer运行的性能。
Shape此类用于使用 ActionScript 绘图应用程序编程接口 (API) 创建简单形状。Shape 类包括
graphics
属性,该属性使您可以从 Graphics 类访问方法。Sprite 类也包括 graphics
属性,并且它包括不可用于 Shape 类的其他功能。例如,Sprite 对象是显示对象容器,而 Shape 对象不是(并且不能包含子显示对象)。由于此原因,Shape 对象会比包含相同图形的 Sprite 对象消耗的内存少。但是,Sprite 对象支持鼠标单击事件,而 Shape 对象不支持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2011-12-20 struts2 插件大全(转)