ccc碰撞系统的一个小坑
来源:互联网 发布:java 抽象工厂类 编辑:程序博客网 时间:2024/06/02 06:56
ccc碰撞系统的一个小坑
碰撞系统的官方文档
公司用ccc引擎写一个H5的捕鱼游戏,子弹和鱼的碰撞发生了一些问题,只有非常低的几率会触发碰撞回调,大多数碰撞都被无视了.
我检查了所有的子弹和鱼的预制资源,都已经正确分组,并且加了碰撞组件,碰撞框也正常,组件中也都有回调方法,并且屏蔽了方法中所有的代码,只是在碰撞时会打印一下,但依旧是不触发.
就当我绝望的一遍遍尝试的时候,突然发现,只有在鱼添加到场景之前,添加到场景的子弹才会和鱼发生碰撞,而之后添加的子弹就不会发生碰撞.
于是我立即就想到了node组件中的group.
//原来的group中的顺序group0: fishgroup1: bullet//修改后的group0: bulletgroup1: fish
修改后,果然所有的子弹和鱼都能正常发生碰撞了.
这个问题是不是很眼熟?js中用for(let i in array){}时,如果逻辑顺序不对,很容易就发生这种问题,新加入的不会被遍历到,同理还有c++中的容器.
我猜想,ccc中的碰撞系统可能就是用类似的语句进行遍历,而遍历的顺序就靠node组件的group来控制,所以,才会发生上面这种情况.
所以,如果你用ccc碰撞系统时,发现其他一切都正常,但碰撞就是不会触发的时候,检查一下你group的分组吧,说不定你就是被这个坑了.
0 0
- ccc碰撞系统的一个小坑
- ccc
- ccc
- ccc
- CCC
- Ccc
- Ccc
- ccc
- ccc
- ccc
- CCC
- ccc
- ccc
- ccc
- ccc
- CCC
- ccc
- ccc
- Mac 终端里 vim 的常用用法
- 哈希表
- Getter/Setter之深入浅出,对象属性监听
- Android开发之--图片压缩的三种方式
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
- ccc碰撞系统的一个小坑
- div 绝对定位覆盖
- Java 读书笔记 14.1-14.6 RTTI
- 内核模块的编译、加载与卸载
- android Comparator做排序
- HDU problem 5635 LCP Array【思维】
- linux 静态库与共享库
- LVS_NAT模式
- 【latin】mysql校对规则(COLLATION)详解