三十八.子弹

子弹

1.新建子弹节点

将子弹拖到场景内,重命名为TankBossBullet,调整位置便于测试

请添加图片描述

2.子弹动画

在TankBossBullet节点上新建动画BossTank_Bullet,保存在Animations/Boss文件夹下

请添加图片描述

编辑动画

请添加图片描述

3.添加碰撞检测

添加组件Box Collider 2D,调整碰撞区域大小,设置为Trigger

请添加图片描述

4.添加脚本

新建脚本BossBullet.cs,添加组件到TankBossBullet节点

添加参数speed,设置速度

public float speed; //速度


void Update()
{
	transform.position += new Vector3(-speed * transform.localScale.x * Time.deltaTime, 0f, 0f);
}

添加碰撞检测函数

private void OnTriggerEnter2D(Collider2D other)
{
    if(other.tag == "Player")
    {
        //伤害Player
        PlayerHealthController.sInstance.DealDamage();
    }

    Destroy(gameObject);
}

5.子弹预制体

在Prefabs文件夹下,新建Boss文件夹,存放Boss的预制体

将TankBossBullet拖到Boss文件夹下制成预制体,删除子弹节点

请添加图片描述

将子弹预制体绑定到BossBattle中的Bullet

请添加图片描述

6.发射子弹

在BossTankController.cs中,添加case bossState.shooting:逻辑

case bossState.shooting:

    shotCounter -= Time.deltaTime;
    if(shotCounter <= 0)
    {
        shotCounter = timeBetweenShot;
        //在开火点添加子弹进行发射
        var newBullet = Instantiate(bullet, firePoint.position, firePoint.rotation);
        newBullet.transform.localScale = theBoss.localScale;
    }

    break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值