Actionscript 3 形状、精灵、MovieClip和其他显示对象:何时使用?

Actionscript 3 形状、精灵、MovieClip和其他显示对象:何时使用?,actionscript-3,flash,optimization,displayobject,Actionscript 3,Flash,Optimization,Displayobject,在flash.display包中有大量的显示对象。我不清楚在什么情况下应该使用Shape、Sprite或MovieClip。使用它们的利弊是什么 提前谢谢你 是可以添加到舞台上的最简单的显示对象。它是 最有限的一个:不能向其中添加childen(不扩展DisplayObjectContainer),没有交互性(不扩展InteractiveObject),没有时间线 扩展DisplayObjectContainer和InteractiveObject,因此它是交互式的,您可以向其中添加子对象。在

flash.display
包中有大量的显示对象。我不清楚在什么情况下应该使用
Shape
Sprite
MovieClip
。使用它们的利弊是什么

提前谢谢你

  • 是可以添加到舞台上的最简单的显示对象。它是 最有限的一个:不能向其中添加childen(不扩展DisplayObjectContainer),没有交互性(不扩展InteractiveObject),没有时间线
  • 扩展DisplayObjectContainer和InteractiveObject,因此它是交互式的,您可以向其中添加子对象。在我看来,它是最有用的显示类,只要你不需要时间线
  • 扩展了Sprite,因此上述所有内容都是正确的,您还可以获得与时间轴控件相关联的方法/属性,但请注意,它是一个动态类,因此您可以在运行中执行一些黑客操作,但会失去速度

简而言之,在大多数情况下,坚持使用Sprite,除非您需要与Flash创作的MovieClips集成。形状便于快速绘制,它比Sprite“更轻”,但不太灵活,因为您无法在其上嵌套其他元素。

您应始终根据需要使用最轻的组件:

  • 形状
    是可能性最小的形状。当您只需要一个带有
    图形的
    显示对象
    ,而不需要鼠标交互时,可以使用它
  • Sprite
    是您需要的所有东西的父类。由于它是一个
    DisplayObjectContainer
    ,因此可以将其用作其他组件的基本容器。您还可以在这个屏幕上捕捉鼠标事件
  • MovieClip
    是一种能够使用帧的
    Sprite
    。仅用于逐帧动画(Flash样式)