cocos creator 碰撞不生效问题
今天在b站学习飞羽老师的飞机大战的时候,发现子弹和敌机碰撞不生效。
研究了一下,发现是因为使用了EnemyManager去生成敌机,所以需要在每个敌机的onLoad的时候开启碰撞检测。
飞羽老师说在playerControl里面开启,但是好像是由于版本问题,没有生效。改成在EnemyControl中就可以了
代码如下
import BulletControl from "./BulletControl"; const {ccclass, property} = cc._decorator; @ccclass export default class EnemyControl extends cc.Component { // 是否死亡 isDie: boolean = false; onLoad() { // 开启碰撞检测 cc.director.getCollisionManager().enabled = true; } start () { } update (dt) { // 移动 if (!this.isDie) { this.node.y -= 200 * dt; } // 移动出屏幕后销毁 if (this.node.y < -850) { this.node.destroy() } } // 死亡 die() { this.isDie = true; // 加载爆炸图片 cc.loader.loadRes("enemy0_die", cc.SpriteFrame, (err, res) => { this.node.getComponent(cc.Sprite).spriteFrame = res; }) // 300毫秒后销毁 setTimeout(() => { this.node.destroy() }, 300); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-09-18 centos7 ping127.0.0.1不通