easeljs Movieclip vs Sprite

时间:2015-08-05 12:45:05

标签: actionscript-3 flash easeljs flash-cc

我是画架js的新手。当我们使用adobe flash cc将flash / AS3项目转换为HTML5Canvas项目时,动画和动画片段将成为easyljs Movieclip。但是在easeljs中我们可以使用Sprite来显示动画。但是使用movieclip很容易,因为flash会生成它。

我的问题是,在性能方面使用easeljs Sprite而不是easeljs Movieclip是否有任何好处?

1 个答案:

答案 0 :(得分:1)

Sprite和MovieClip在EaselJS中完全不同。

  • 在Flash中,MovieClip扩展Sprite,因此它们具有类似的功能。
  • 在EaselJS中,Sprite显示SpriteSheet的帧,MovieClip是内容Container,它理解的概念,包括时间轴和帧动作。

MovieClip通常仅用于Flash CC输出,但您可以手动制作它们。理想情况下,Flash可以在有意义时导出Sprite和SpriteSheets - 但是由于Flash时间轴动画的性质,确定何时以及如何导出Sprites / SpriteSheets和MovieClip是非常困难的。

严格说来,Sprites应该表现更好,因为它们对所有帧使用单个(或几个)位图,从而获得GPU的好处。多个大图像(使用不同的精灵,或只是单个精灵,跨越图像的大量帧)可能会在GPU切换纹理时导致性能问题。

还有一个SpriteSheetBuilder class(和example)可以参考,它可以获取Flash CC输出,并生成一个运行时SpriteSheet,为您提供Sprites的性能优势, Flash CC的复杂矢量/图像输出。

希望能在某种程度上解决问题。