请教一个入门问题~~~,还望大家百忙中能看一眼

安装的cocos creator2.2版本,默认推荐的是vs2017, 不是安装vs code版本么,根据默认安装的vs2017, 没有生成vs工程~~~,而在一个cocos creator博客教程里写的是vs code, 并且在 cocos creator里 vs code工作流里有插件安装,这跟vs2017和vs code之间怎么选择?

1赞

vs2017就用来编译发布win32平台程序用的,vs code是用来写代码的!vs2017你可以看你的需求考虑要不要装,但是你得安装vs code来写代码,不然你要怎么写?当然你也可以根据个人的喜好安装一个别的写代码工具

2赞

多谢章鱼老板的指点

我以为用vs 2017来写代码,结果没有vs工程可用,查了网上的教程说的是vs code, 有点不知道该怎么选择,还好多谢章鱼老板~~~~

哈哈哈,我不是老板,我只是个码农

onCollisionEnter 这个的响应事件不触发,怎么处理呢,rigidBody + physicsBoxCollider 组件,碰撞的双方都有, 捕捉碰撞事件的脚本勾选了Enabled Contact Listener.
cc.director.getCollisionManager().enabled = true;
cc.director.getPhysicsManager().enabled = true;
物理系统也都打开了。
碰撞的层级关系也打开了。

onCollisionEnter 这个函数就是不触发,比较无解。~~~~应该是哪里设置错了呢,哈哈,章鱼老板麻烦编码百忙中解答一下啊。

分组设置了么?

设置过了,有碰撞的效果,但是没有触发事件~~,是不是函数写错了?

看一下官方demo,看看哪里不一样

你看看 是普通碰撞 还是物理碰撞 有可能你弄混了

你用的是物理碰撞,不是用onCollisionEnter,onCollisionEnter是普通盒子的碰撞,物理碰撞回调看这里https://docs.cocos.com/creator/2.2/manual/zh/physics/physics/contact-callback.html

有先用 collisionManager 打开碰撞吗?
如果有打开但还是不行的话就试试 onBeginContact,就是刚体上的碰撞检测回调函数。

好的,多谢多谢。确实是用onBeginContact就可以了。 cc.director.getCollisionManager().enabled = true;打开的,多谢哦。

好的,多谢多谢

确实是搞混了~~,谢谢哦

好的,多谢哦

再请问一下啊,普通碰撞和物理碰撞怎么区分,不是都要增加刚体么, 还是说非刚体情况下普通的collider就有碰撞。我现在用的 刚体+物理碰撞盒,onBeginContact有效,onCollisionEnter无效。也就是说onBeginContact是物理碰撞是么。

普通的盒子没有物理的效果,加了刚体反而会增加性能的消耗,而且刚体有刚体的碰撞盒子,就不用多加普通盒子来处理逻辑,物理盒子用不了普通盒子的回调,反之亦然。