碰撞问题求助

如果一个子弹同时碰撞到2个敌人,怎么才能避免一颗子弹同时伤害2个敌人

子弹碰撞到第一个人做一个flag,碰撞前做一下判断就可以了。

但是我的敌人位置重叠的,我想根据敌人的zIndex来判断子弹碰到哪个敌人,zIndex较大的子弹碰到的就是哪个敌人

那个感觉只能用手动测试了,手动让子弹和敌人碰撞一次,把权值最高的最后找出来。
感觉用本身的碰撞回调可能比较难处理。

把碰到的敌人push到子弹类的一个数组里,比如enemies。然后子弹开始一个销毁倒计时(如果已经开始倒计时则不触发),比如0.1秒(根据子弹速度自己调整),这期间碰到的敌人还是会被push到enemies数组里。0.1s倒计时结束后,子弹类从enemies中找一个zIndex最大且存活的enemy的作为最终目标,击中该enemy且销毁自己。如果enemies数组所有敌人都不存活,说明都被其它子弹打死了,可以啥也不做让这个子弹继续飞行。

仿照你的方法解决了,谢谢