- Creator 版本:2.2
请教大佬,有个可能很傻的问题cc.director.getPhysicsManager().enabled = true;这样开启物理引擎我懂,也会用了,但想要某个节点开启,就要在这个节点所挂载的脚本上写上这一句,我想请教的是,能不能在某个脚本上统一开启很多节点的物理引擎?不然很多节点,比如说子弹、弓箭之类的,需要开启引擎,又几乎不需要别的代码,专门为了开启引擎给这种节点配置一个脚本文件,总觉得很傻,然后又强迫症,不太喜欢这样
请教大佬,有个可能很傻的问题cc.director.getPhysicsManager().enabled = true;这样开启物理引擎我懂,也会用了,但想要某个节点开启,就要在这个节点所挂载的脚本上写上这一句,我想请教的是,能不能在某个脚本上统一开启很多节点的物理引擎?不然很多节点,比如说子弹、弓箭之类的,需要开启引擎,又几乎不需要别的代码,专门为了开启引擎给这种节点配置一个脚本文件,总觉得很傻,然后又强迫症,不太喜欢这样
这东西是全局的,只要在游戏逻辑里写了这行代码,所有用到物理组件的节点,都能实现物理效果
不知道是我没明白您的意思,还是您没看明白我想要什么,我意思是,比如a节点和b节点要碰撞,那我分别在两个节点各自挂载的脚本里都写了cc.director.getPhysicsManager().enabled = true;然后那些碰撞组设置什么的自不必说,确实能碰撞了。但我想要的是,b节点不用脚本文件了,而是在a节点挂载的脚本文件里写代码,指令a和b两个节点都开启物理引擎,然后碰撞,这样可行吗?
cc.director.getPhysicsManager().enabled = true这行代码是全局开关,只要你在你的主逻辑里写了这行代码,物理系统就开启了,只要节点用到了物理组件,不管这个节点有没有脚本,都会实现物理效果,还不懂的话,建议再去看看手册
啊,谢谢您,刚才去试了一下果然是可以的,但真的很奇怪,我之前不知道怎么回事,删掉某个节点的那一句之后,确实就不触发碰撞了,不然我自己也这样怀疑过的,早就该试出来了。真是贻笑大方