我想为ActionScript 3做我自己的ActionScript类。
这个类的目的是替代MovieClip类,唯一的区别是框架将来自SpriteSheet。我的许多课程都是从这个类扩展出来的。
我的问题是:如果我有一个子类,例如Ball,它对Ball的所有实例使用相同的SpriteSheet,我想重用这个SpriteSheet在所有球中使用,以节省大量内存。
发布于 2014-07-23 04:11:08
如果您想对Ball的所有实例共享相同的SpriteSheet,您的Ball类不应该从SpriteSheet类扩展。基类应包含SpriteSheet类型的变量,并在创建类时进行初始化。
因此,您需要一个单例类来保存所有SpriteSheet类,字典的键可能类似于"Ball","MAN_RUN".The 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");https://stackoverflow.com/questions/24899473
复制相似问题