Egret社区

官方飞机实例中,对象池

2014-7-1 15:58
18552
其中,为飞机添加对象池 if(fighter.Airplane.cacheDict[textureName]==null)
        fighter.Airplane.cacheDict[textureName] = [];
    var dict:fighter.Airplane[] = fighter.Airplane.cacheDict[textureName];
这两个语句是把一个数组赋值给另一个数组吗,
分享到 :
1 人收藏

2 个回复

倒序浏览
tab_axz  初学乍练 | 2014-7-1 16:22:48
cacheDict:Object = {};另建议不要使用此中简化,语句,容易一起新手混淆,,
guoshaorui  超级斑竹 | 2014-7-1 16:35:18
对象池的含义就是,当一个对象不需要的时候就回收(不销毁),当需要创建该类型对象的时候,先从对象池去取,取不到再创建新的,这样来避免反复创建和销毁对象引起的性能开销,通常你的屏幕上所需的对象会稳定在一种水平上,就不再增加。

这个例子也算不上官方实例,变量命名也是个人习惯使然,呵呵,对新手说抱歉了,以后我会多加注释。

最上面两行代码,其实就是用一个Object来存储回收的对象的引用,因为不同的飞机纹理不一样的,所以用textureName做key,值是一个数组,数组存储那些被回收的飞机对象。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部