我有一个纸牌游戏,我在其中创建所有52张卡片并逐个缓存。
我希望能够尽可能多次地显示相同的卡片(例如黑桃王)。目前,只要我需要显示它的多个实例,我就会克隆现有的卡片。
有没有办法克隆缓存卡,以便克隆具有相同的缓存或获取对我的卡的位图(缓存)版本的引用?
答案 0 :(得分:1)
您可以使用card.clone()
克隆该卡片,该卡片将与原始克隆的项目共享相同的cacheCanvas
。此外,您可以使用另一个cacheCanvas作为源创建位图:
var bmp = new createjs.Bitmap(otherItem.cacheCanvas);
您是否考虑过使用SpriteSheetBuilder类?在幕后创建一个SpriteSheet,然后使用它生成Sprite可以提高性能,因为在幕后只会使用一个位图。
http://www.createjs.com/docs/easeljs/classes/SpriteSheetBuilder.html