DisplayObject类系

1.DisplayObject

DisplayObject Inheritance EventDispatcher Inheritance Object

DisplayObject 类是可放在显示列表中的所有对象的基类。该显示列表管理 Flash 运行时中显示的所有对象。使用 DisplayObjectContainer 类排列显示列表中的显示对象。DisplayObjectContainer 对象可以有子显示对象,而其它显示对象(如 Shape 和 TextField 对象)是“叶”节点,只有父级和同级,没有子级。

 

DisplayObject 类支持基本功能(如对象的 x 和 y 位置),也支持更高级的对象属性(如它的转换矩阵)。

DisplayObject 是一种抽象基类;因此,不能直接调用 DisplayObject。调用 new DisplayObject() 会引发 ArgumentError 异常。

所有显示对象都继承自 DisplayObject 类。

DisplayObject 类本身不包含任何用于在屏幕上呈现内容的 API。因此,如果要创建 DisplayObject 类的自定义子类,您将需要扩展其中一个具有在屏幕上呈现内容的 API 的子类,如 Shape、Sprite、Bitmap、SimpleButton、TextField 或 MovieClip 类。

DisplayObject 类包含若干广播事件。通常,任何特定事件的目标均为一个特定的 DisplayObject 实例。例如,added 事件的目标是已添加到显示列表的特定 DisplayObject 实例。若只有一个目标,则会将事件侦听器限制为只能放置到该目标上(在某些情况下,可放置到显示列表中该目标的始祖上)。但是,对于广播事件,目标不是特定的 DisplayObject 实例,而是所有 DisplayObject 实例(包括那些不在显示列表中的实例)。这意味着您可以向任何 DisplayObject 实例添加侦听器来侦听广播事件。除了 DisplayObject 类的 Events 表中列出的广播事件,DisplayObject 类还从 EventDispatcher 类继承如下两个广播事件:activate 和 deactivate

 

2.Sprite

Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Sprite 类是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点。Sprite 对象与影片剪辑类似,但没有时间轴。Sprite 是不需要时间轴的对象的相应基类。例如,Sprite 将是通常不使用时间轴的用户界面 (UI) 组件的逻辑基类。Sprite 类是 ActionScript 3.0 中新引入的类。它提供了 MovieClip 类功能的替代功能,此替代功能保留了 ActionScript 以前版本的所有功能以提供向后兼容性。

 

 

3.MovieClip

MovieClip Inheritance Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

MovieClip 类从以下类继承而来:Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher。不同于 Sprite 对象,MovieClip 对象拥有一个时间轴。在 Flash Professional 中,MovieClip 类使用的方法提供的功能与定位影片剪辑的操作相同。还有一些其它方法在 Flash 创作工具的“动作”面板中的“动作”工具箱中没有等效动作。在 Flash Professional 中放到舞台上的子实例无法由父实例构造函数中的代码进行访问,因为在执行代码时尚未在该位置创建这些实例。在访问子实例之前,父实例必须通过代码创建子实例,或者延迟访问用于侦听子实例以调度其 Event.ADDED_TO_STAGE 事件的回调函数。如果修改包含补间动画的 MovieClip 对象的下列任一属性,该 MovieClip 对象中的播放头便会停止:alphablendModefiltersheightopaqueBackgroundrotationscaleXscaleYscale9GridscrollRecttransformvisiblewidthx 或 y。但是,它不会停止在该 MovieClip 对象的任何子 MovieClip 对象中的播放头。

4.Bitmap

Bitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Bitmap 类表示用于表示位图图像的显示对象。这些图像可以是使用 flash.display.Loader 类加载的图像,也可以是使用 Bitmap() 构造函数创建的图像。利用 Bitmap() 构造函数,可以创建包含对 BitmapData 对象的引用的 Bitmap 对象。创建了 Bitmap 对象后,使用父 DisplayObjectContainer 实例的 addChild() 或addChildAt() 方法将位图放在显示列表中。一个 Bitmap 对象可在若干 Bitmap 对象之中共享其 BitmapData 引用,与转换属性或旋转属性无关。由于能够创建引用相同 BitmapData 对象的多个 Bitmap 对象,因此,多个显示对象可以使用相同的复杂 BitmapData 对象,而不会因为每个显示对象实例使用一个 BitmapData 对象而产生内存开销。Bitmap 对象可通过以下两种方式之一将 BitmapData 对象绘制到屏幕上:使用矢量渲染器作为填充位图形状,或使用更快的像素复制例程。像素复制例程的速度比矢量渲染器要快很多,但 Bitmap 对象必须满足某些条件才能使用该例程:

  • 不能将拉伸、旋转或倾斜效果应用于 Bitmap 对象。
  • 不能将颜色转换应用于 Bitmap 对象。
  • 不能将混合模式应用于 Bitmap 对象。
  • 不能通过蒙版或 setMask() 方法进行剪裁。
  • 图像本身不能是遮罩。
  • 目标坐标必须位于一个整像素边界上。

如果从中加载 Bitmap 对象的域不同于用于加载图像的 Loader 对象的域,并且没有用于允许访问 Loader 对象的域的 URL 策略文件,则该域中的脚本无法访问 Bitmap 对象或其属性及方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值