首先,为子弹添加爆炸动画和帧事件removeBullet()。
const {
ccclass, property} = cc._decorator;
@ccclass
export default class NewClass extends cc.Component {
removeBullet(){
this.node.destroy();
}
}
把子弹制作成预制体,创建子弹层节点,挂载子弹层脚本,在子弹层脚本中通过位置创建子弹addBullet()。
import ScriptBase from './ScriptBase'
const {
ccclass, property} = cc._decorator;
@ccclass
export default class BulletLayer extends ScriptBase {
@property(cc.Prefab)
bulletPrefab:cc.Prefab = null;
addBullet(pos:cc.Vec3){
let bulletN = cc.instantiate(this.bulletPrefab);
bulletN.position = pos;
bulletN.parent = this.node;
}
}
在武器脚本的onInit()中定时调用addBullet(用于测试子弹的多次发射),在武器层创建武器的时候调用武器的onInit()
import ConfigMgr from './ConfigMgr'
import BulletLayer from './BulletLayer';
const {
ccclass, property} = cc._decorator;
@ccclass
export default class Weapon extends cc.Component