当前测试基于官方例子Shooter修改:
放生碰撞时不调用destroy,而是从父节点中移除,并执行回调,方便回收到对象池。如下图:

------------分割线----------

发现的问题:当第一个子弹还没碰到上端白块,第二个子弹已经生成,当第一个碰到白块消失时,第二个也消失了,不奇怪么?

跟踪发现:这两个子弹实例取出的组件‘Bullet’居然是同一个,所以第一个碰撞时执行了移除操作,于是第二个也跟着移除了。。

什么鬼?人呢?
不觉得这是个问题吗?还是我处理有问题?求解啊
官方的示例有问题吗?如果官方的示例没有问题,那就可能是你修改的问题啊,如果你觉得可能是creator的问题,麻烦你弄个简单的demo贴上来,这样官方大神才好帮你看啊,从你贴的代码片段根本看不出来什么啊
抱歉没看出是什么原因,怀疑是对象池的使用上有点错误导致的。
demo传了 能帮忙看下么?哥们儿在论坛很活跃啊 谢谢。
问题找到了,是因为你的_endFunc,至于具体原因我也不清楚
你把_endFunc声明成bullet的成员属性就没问题了

还有对象池的用法你可能需要看看文档
1赞
非常感谢。
半小时前定位到这了,原因是_endFunc未作为其成员属性,且放在该类的外部, 同一个文件内,此时该变量相当于是一个static变量,故多个实例拿到的是同一个东西,所以导致了上面的问题。js刚入手,许多低级错误。感谢您的测试。
这个我也不是很清楚,JS我大概会用,但是很多底层原理还没来得及学