我发现都是在我给一个节点定义碰撞组的时候报这个错this.node.group = “aim”;请问是什么原因呢。
只要我把this.node.group = “aim”;注释掉,后面就正常跑。
我发现每改一个节点的碰撞组group,都会报这个错误,2.0.9没有问题
我去看了文档,好像没有提group的问题
等一个大佬解惑
我发现了这个:
运行时修改节点的 group 之后,需要调用 Collider 的 apply,修改才会生效。
我试一下,一会回复
大佬们,2.1.3修改节点group后怎么才能不报错
实在搞不明白了,有大佬知道怎么办吗
没人我一会再来看看
this.node.group = “aim”;
this.node.getComponent(cc.PhysicsPolygonCollider).apply();
试了一下这个也不行,会在this.node.group = “aim”;这一步报错,根本运行不到下一步。
然后试了一下土办法
this.node.active = false;
this.node.group = “aim”;
this.node.active = true;
这样是可以的,但是好奇怪,为什么呢。而且我很多需要动态修改分组的地方,不能都这样改吧。
有引擎组大佬解惑吗
还没有人吗,是我设置了不能评论吗,我去看看
还没有人吗,我再等等
问题没看懂,报错调用栈是啥?给个 demo?
大佬,我私聊发给你了,按button时候改变test分组,微信和就报错了,web没有问题。
cocos版本2.1.3 微信 开发者工具v1.02.1904090 调试基础库2.7.1 然后我发现oppo也有这个问题,改变节点group的时候就报错。
console.log(‘改变分组’)
this.node.group = ‘aim’;
console.log('group ’ + this.node.group)
这是微信报错
这是web没有报错
oppo也报错了,我新创建一个项目没有这个问题,2.0.9也没问题,就是老项目2.0.9升级到2.1.3后,修改分组就报错了。
console.log(‘改变分组’)
this.node.group = ‘aim’;
console.log('group ’ + this.node.group)
大佬,demo收到了吗,是为什么报错啊
我又重新用2.0.9建了新项目测试,升级到2.1.3没有这个问题。
但就是我目前在做的项目有问题,demo已经发过去了,大佬有空看一下,就是动态改变一个节点group的时候报错。
this.node,active = false;
this.node.group = ‘aim’;
this.node.active = true;
虽然这样就能避免了,但是为什么会这样啊,而且我改变节点的group地方很多,用这种土办法实在是不好处理。
这周末项目上线,我应该一直在的。大佬有结果了直接回复就好了,万分感谢
其实不是很建议通过分组去做碰撞检测,因为分组后会分开渲染,加大开销

