三十九.攻击Boss

攻击Boss

1.加被攻击框

在TheTank节点下,新建空节点,命名为HitBox

添加碰撞检测组件Box Collider 2D,设置为Trigger,并调整碰撞位置和大小

请添加图片描述

2.脚本

新建脚本BossTankHitBox.cs,添加组件到HitBox上绑定

新建参数,指向BossTankController

public BossTankController bossControl;	  //指向坦克控制

添加碰撞检测函数

private void OnTriggerEnter2D(Collider2D other)
{
    if(other.tag == "Player")
    {
        //boss受伤
        bossControl.TakeHit();
        //player弹起效果
        PlayerController.sInstance.Bounce();
        //隐藏被攻击区域
        gameObject.SetActive(false);
    }
}

在Unity中设置bossControl指向BossBattle节点

请添加图片描述

此时,站在Boss边上,直接跳头碰到Boss时,也可以杀死Boss,需优化

添加并列判断PlayerController.sInstance.transform.position.y > transform.position.y

private void OnTriggerEnter2D(Collider2D other)
{
    if(other.tag == "Player" && PlayerController.sInstance.transform.position.y > transform.position.y)
    {
        //boss受伤
        bossControl.TakeHit();
        //player弹起效果
        PlayerController.sInstance.Bounce();
        //隐藏被攻击区域
        gameObject.SetActive(false);
    }
}

3.设置Boss受伤移动后,恢复受伤害节点状态

在BossTankController中,新建参数,指向HitBox

public GameObject hitBox;   //受伤害的节点

在移动结束后,EndMovement()中最后面,设置hitBox有效

//重新设置hitBox有效
hitBox.SetActive(true);

绑定hitBox

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值