无厘头的逻辑错误,求大大们帮我指出,实在想不明白了

概述一下:这是我的NPC的脚本,当我NPC的锚点超过边界就会死亡
碰到边界前的一段距离写了一个改变角度的方法,只有小概率的时候才会打印死亡,但是现在他没打印死亡,我对象池那边就已经打印回收了,逻辑崩盘,求大大们救救孩子吧!!!

你判断回收和死亡的逻辑呢,这里只是根据位置去改变角度了,打印上、下、左、右死的时候并没有回收逻辑,这样的话。打印和实际效果是很可能出问题的。


这是死亡方法。

回收方法。

乍一看好像没什么问题,断点调试一下,看看回收方法从哪里进的。

或者可以试试先不用this.scheduleOnce,直接调用propsKilled方法

打印 “超出边界死亡了” 没有?

建议看看是不是生成npc的初始锚点有问题,看楼主的说明貌似并没有走方向判定的那部分代码。

从描述及代码来看,打印死亡是小概率,对象池回收是必然。

要不加个标识,this.isDie = false
{
console.error(“右死”);
this.isDie = true;
}
后面不用边界判断对象池回收,用isDie判断。
if(this.isDie){
this.heroDie();
}

谢谢,解决了,帧数判断写错了

谢谢,解决了,帧数判断写错了.

谢谢,解决了,帧数判断写错了…

谢谢,解决了,帧数判断写错了…

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。