[]getItemByClass的问题

如题,
我的工厂类解析JSON后,独立timer来 创建不同数量,类型,位置的怪物。
 
循环创建的时候 使用的是monster = Pool.getItemByClass("monster", SimpleRole);每个角色都有一个1S左右的死亡动画,播放完毕后才进行回收。。
但是在实际游戏测试中,多个角色几乎同时死亡的时,,,后续的timer实测确实触发了 创建等后续相关代码,但是POOL 并没有在内存中把“monster”提取出来。。相对的,如果把Pool.getItemByClass创建直接修改为new 即不会出现任何问题。。。

getItemByClass的提取方式 是非阻塞的么?
getItemByClass的提取方式 是非阻塞的么?
getItemByClass的提取方式 是非阻塞的么?
求原因
已邀请:

170*****650

赞同来自: cuixueying

已解决。原因是角色死亡动画后,对象池才进行回收,延迟时间跟不上创建时间。。
内存池对象充足的情况下,getItemByClass 有时是无法正常调取的,希望官方再测试下  
IDE版本 LayaAirAS3_1.7.5

cuixueying

赞同来自:

你的问题应该是,for循环的时候,不断的Pool.getItemByClass("monster", SimpleRole),当第一个对象的timer事件还没有执行完,第二个对象的timer就开始了,如此反复创建覆盖导致的,你可以参考下官方文档打飞机的案例,尝试把timer动画播放行为放到SimpleRole类内部,那么每次创建完一个monster,都会执行动画播放的行为!

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作