physics碰撞报错

physicsbody 获取两个碰撞物的标签 有时会报错,有时又没事,生成APK碰撞是闪退

这应该是内存问题,打断点自己检查下,或者附上完整的代码

碰撞的物体获取tag失败

碰撞的物体获取tag失败 ,有什么办法提前判断

你没确保,spriteB是不是空指针

检查下A和B是否已经被释放过,或者本身就是空指针

spriteB!=nullptr没用:6:,还有别的办法判断吗?

:12:楼主这是对编译器不熟啊…你打断点,他运行到那步,你不就可以看里面的东西了吗…:7::7:

报错,不是空指针吧

肯定是啊- -!A和B里面根本就没东西…祝好运,慢慢检查吧…我这边是Mac环境,想帮你也没办法:13::13:

:6:大神求指导,怎么避免这种情况,我都无从下手,第一次用physics

这东西只能自己平时注意了 :10: :10: ,再去看点2d-x内存管理的文章,了解下机制
像这篇 http://www.cocoachina.com/bbs/read.php?tid-195219-keyword-�ڴ�����.html
真没什么好办法,应该说谁都遇到过这种情况吧

因为你物理绑定的对象先是被删除了,但是对应的碰撞消息队列还没有处理,于是在碰撞回调里就崩溃了,建议是,要绑定物理的对象做延后删除~~~,先把对象处理成不再与其他发生碰撞,过一小段时间再销毁。

求大神给个栗子吧:13:

我怎么感觉是spriteA的类型问题。

用sprite*能getNode吗?我也是新手,不是很懂。。

然后做碰撞检测其实有个更简单的办法, 设置 setCollisionBitmask的值。 然后用&运算。检测是碰撞的哪个物体