Creator实战项目【保卫萝卜】-- 子弹产生、武器开火、敌人移除

本文详细介绍了在Unity Creator中实现【保卫萝卜】项目的实战过程,包括子弹爆炸动画、预制体创建、子弹层与武器层的交互。在武器脚本中设置射程,利用onUpdate()函数检测敌人与子弹的距离。通过敌人层接口获取敌人并判断是否在射程内进行开火。同时,解决了敌人移除后仍触发开火的问题,通过状态变量控制定时器的开启和关闭,确保高效的游戏逻辑运行。
摘要由CSDN通过智能技术生成

首先,为子弹添加爆炸动画和帧事件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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值