SpriteSheet 类 AS3
Posted
技术标签:
【中文标题】SpriteSheet 类 AS3【英文标题】:SpriteSheet Class AS3 【发布时间】:2014-09-13 23:42:00 【问题描述】:我想为 ActionScript 3 做我自己的 SpriteSheet 类。
这个类的目的是替代 MovieClip 类,唯一的区别是帧来自 SpriteSheet。我的许多课程都将继承自这个课程。
我的问题是:如果我有一个子类,例如 Ball,它对 Ball 的所有实例使用相同的 SpriteSheet,我想重新使用该 SpriteSheet 以在所有球中使用以节省大量记忆。
【问题讨论】:
Starling 是一个框架,它提供了与您想要完成的功能相似的功能。您可能会发现它在 2D 游戏开发中非常有用。 【参考方案1】:如果您想为 Ball 的所有实例共享同一个 SpriteSheet,您的 Ball 类不应从 SpriteSheet 类扩展。基类应包含一个SpriteSheet类型的变量,并在创建类时初始化。
所以你需要一个单例类来用字典保存所有的SpriteSheet类,字典的键可能是“Ball”、“MAN_RUN”。SpriteSheet类将包含一个BitmapData列表。
代码可能是这样的
public class Animation
private var _spriteSheet:SpriteSheet;
public function Animation(key:String)
spriteSheet = SpriteSheetMgr.instance.getSpriteSheet(key);
private var ball:Ball = new Ball("Ball");
【讨论】:
以上是关于SpriteSheet 类 AS3的主要内容,如果未能解决你的问题,请参考以下文章
多个小型 spritesheet 或一个巨大的 spritesheet 以提高性能? ---(java游戏开发)[关闭]
在 EaselJS 中为 spritesheet 设置动画时遇到问题