查看项目所有章节
接着上一章,编辑bullet.ts脚本文件,添加碰撞函数,此方法在元素发生碰撞时会调用
/**
* 当碰撞产生的时候调用
* @param {Collider} other 产生碰撞的另一个碰撞组件
* @param {Collider} self 产生碰撞的自身的碰撞组件
*/
onCollisionEnter(other: cc.Collider, self: cc.Collider) {
switch (other.node.name) {
case 'enemy':
if (this.pool !== null) {
this.pool.put(this.node)
}
break
}
}
同时,编辑bullet精灵属性,添加碰撞组件
碰撞组件有三个,一个是矩形,一个是圆形,一个是自定义。这里我们任选一个都可以
分别给bullet,role,enemy三个元素都添加上碰撞组件
再打开enemy属性,选择group,点击编辑按钮,打开分组管理
分别添加role组,enemy组,bullet组。并勾选enemy和bullet碰撞
保存后,在分别编辑role,enemy,bullet精灵属性,添加对应的分组
添加完成后,运行效果如下:
源码: