项目实训- 基于unity的2D多人乱斗闯关游戏设计与开发(八3、FPS——武器系统1)

一、前言

武器系统的开发(枪械类、换弹操作、添加开枪动画、子弹、具体枪械、装弹动画等)

二、前期知识

由于武器有不同种,枪、刀,所以用weapon武器作为接口
在这里插入图片描述

三、武器系统的实现

枪械类

1、创建IWeapon脚本作为武器接口,脚本是用来攻击敌人

  public abstract class IWeapon : MonoBehaviour
    {
   
        public abstract void DoAttack();
    }

2、创建枪械类Firearms,是一种挂件,挂在object上,还要接口IWeapon,且含有DoAttack()攻击方法

  • 由于需要打出子弹的效果,所以首先获取枪口的位置public Transform MuzzlePoint;
  • 子弹从弹壳中打出,所以获取打出的位置public Transform CasingPoint;
  • 开枪会显示枪焰,用粒子来做public ParticleSystem MuzzleParticle;
  • 抛出弹壳需要用粒子来做,避免太多的实例化过程public ParticleSystem CasingParticle;
  • 增加一个弹夹,并设置弹夹容纳的子弹public int AmmoInMag = 30;
  • 设置每把枪最多携带的子弹数public int MaxAmmoCarried = 120;
  • 由于不知道是具体是哪种枪发射子弹,且不用的枪子弹也不同,有的是散射而出,有的是直接发出,所以 protected abstract void Shooting();
  • 上膛加子弹protected abstract void Reload();
  • DoAttack()攻击方法中调用Shooting()方法
    3、实现子弹在弹夹内数量射击
    (1)新建变量CurrentAmmo和CurrentMaxAmmoCarried,分别为当前弹夹内的子弹数量和可携带的最大子弹数量
    (2)设置何时可以进行射击
     public void DoAttack()
     {
   
        if(CurrentAmmo<=
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值