四十.Boss释放地雷

Boss释放地雷

1.新建地雷节点

添加地雷到场景,命名为TankBossMine,初步设置好位置

请添加图片描述

2.新建动画

在TankBossMine节点上,新建动画BossTank_Mine,保存到Animations/Boss文件夹下

请添加图片描述

制作动画

请添加图片描述

3.碰撞检测

添加碰撞检测Circle Collider 2D,调整半径大小,并设置为Trigger

请添加图片描述

4.脚本

新建脚本BossTankMine.cs,添加组件到TankBossMine节点上绑定

添加参数,指向爆炸特效

public GameObject explosion;    //爆炸特效

新建碰撞检测函数

private void OnTriggerEnter2D(Collider2D other)
{
    if(other.tag == "Player")
    {
        //销毁地雷
        Destroy(gameObject);
        //爆炸特效
        Instantiate(explosion, transform.position, transform.rotation);
        //伤害角色
        PlayerHealthController.sInstance.DealDamage();
    }
}

找到Prefabs/Effects文件夹下的死亡特效DeathEffect,绑定到explosion上

请添加图片描述

5.预制体

将TankBosMine拖到Prefabs/Boss文件夹下,制作成预制体,并在场景中删除节点

请添加图片描述

6.释放地雷

在BossTankController.cs中添加参数([Header(“移动参数”)]后面)

public GameObject mine; //地雷
public Transform minePoint; //释放地雷点
public float timeBetweenMines;  //释放地雷间隔时间
private float mineCounter;  //释放地雷间隔计数器

case bossState.hurt:里,将释放地雷计数器清零

case bossState.hurt:

    if(hurtCounter > 0)
    {
        hurtCounter -= Time.deltaTime;
        if(hurtCounter <= 0)
        {
            currentState = bossState.moving;
            //释放地雷计数器清零
            mineCounter = 0;
        }
    }
    break;

case bossState.moving:里,判断moveRoght之后,添加代码:判断地雷计数器,释放地雷

mineCounter -= Time.deltaTime;
if(mineCounter <= 0)
{
    mineCounter = timeBetweenMines;
    //释放地雷
    Instantiate(mine, minePoint.position, minePoint.rotation);
}

切换到Unity界面,在TheTank节点下,新建空节点MinePoint,表示释放地雷位置,设置好坐标位置

请添加图片描述

设置好BossBattle节点上新绑定的参数

请添加图片描述

7.受到攻击时,销毁所有地雷

在BossTankMine.cs中,新建函数Explode()(销毁,爆炸效果)

//销毁,爆炸效果
public void Explode()
{
    //销毁地雷
    Destroy(gameObject);
    //爆炸特效
    Instantiate(explosion, transform.position, transform.rotation);
}

在BossTankController.cs中,TakeHit()内后面,加入销毁逻辑

//销毁地雷
BossTankMine[] allMines = FindObjectsOfType<BossTankMine>();
if(allMines.Length > 0)
{
    foreach (BossTankMine foundMine in allMines)
    {
        //销毁,爆炸效果
        foundMine.Explode();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值