SpriteSheet类AS3

时间:2014-07-22 23:25:57

标签: actionscript-3 flash sprite-sheet

我想为ActionScript 3做自己的SpriteSheet类。

这个类的目的是替换MovieClip类,唯一的区别是帧将来自SpriteSheet。我的许多课程都将从这门课程开始。

我的问题是:如果我有一个子类,例如Ball,对所有Ball实例使用相同的SpriteSheet,我想重新使用SpriteSheet在所有球中使用以节省大量的存储器中。

1 个答案:

答案 0 :(得分:0)

如果要为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");