十六.道具

道具

1.添加道具钻石Gem,制作动画

新建动画Gem_Pickup,保存在Animations文件夹下

请添加图片描述

制作帧动画

请添加图片描述

添加碰撞检测Circle Collider 2D,设置Trigger

请添加图片描述

2.添加道具Cherry,命名为HealthPickup,制作动画

添加碰撞检测Circle Collider 2D,设置Trigger

请添加图片描述

新建动画

3.添加脚本Pickup

添加组件到Gem,HealthPickup

添加参数

public bool isGem;  //钻石
public bool isHeal; //樱桃,加生命

private bool isCollected;   //是否收集到

分别勾选Gem,HealthPickup的值isGem和isHeal

添加碰撞检测函数

private void OnTriggerEnter2D(Collider2D other)
{
    if (other.CompareTag("Player") && !isCollected)
    {
        if (isGem)
        {
            //更新钻石数量
            LevelManager.sInstance.gemCollected++;
            isCollected = true;
            Destroy(gameObject);    //获取钻石后销毁
        }

        if (isHeal)
        {
            if (PlayerHealthController.sInstance.currentHealth != PlayerHealthController.sInstance.maxHealth)
            {
                //刷新生命值,并销毁樱桃
                PlayerHealthController.sInstance.HealPlayer();
                isCollected = true;
                Destroy(gameObject);
            }
        }
    }
}

4.界面钻石显示

在UICanvas中添加Image,命名为Gem,标识钻石

添加Text命名为TextGem,设置靠右对齐,指定字体,并设置字体颜色为白色

请添加图片描述

添加Outline组件,设置黑色轮廓

请添加图片描述

5.同步UI界面

在UIController中,添加刷新钻石数函数,在Start()中初始化

void Start()
{
    UpdateGemCount();
}

//刷新钻石数
public void UpdateGemCount()
{
    gemText.text = LevelManager.sInstance.gemCollected.ToString();
}

在Pickup中,碰撞检测里判断isGem后,调用UIController中的刷新钻石函数

//刷新界面钻石数
UIController.sInstance.UpdateGemCount();

6.道具消失动画

新建节点PickupEffect

在PickupEffect上添加动画Pickup_Effect

请添加图片描述

制作帧动画

请添加图片描述

在20帧时,点record按钮开始录制,去掉SpriteRender的勾,再点record停止录制

请添加图片描述

7.新建脚本DestroyOverTime,绑定到PickupEffect节点

添加参数:lifeTime

public float lifeTime;  //特效生命时间

void Update()
{
    Destroy(gameObject, lifeTime);
}

设置默认值为0.5

请添加图片描述

8.制作特效预制体

在Prefabs文件夹下,新建文件夹Effects,用于保存特效

拖动PickupEffect到Effects文件夹,并删除PickupEffect节点

9.道具中添加特效

在Pickup中添加参数

public GameObject pickupEffect; //道具消失特效

在碰撞检测函数里,分别在判断isGem和isHeal中,销毁对象后添加特效

//在指定位置添加特效
Instantiate(pickupEffect, transform.position, transform.rotation);

分别制定道具中pickupEffect对象为制定的预制体特效

请添加图片描述

10.添加排序层级

添加三个排序层

请添加图片描述

设置Gem和HealthPickup排序层为Pickups

请添加图片描述

设置Checkpoint排序层为World,并Overrides

请添加图片描述

11.制作Pickups预制体

在Prefabs文件夹下,新建Pickups文件夹,保存pickup预制体

[外链图片转存中…(img-PZtmmd1D-1721963537176)]

设置Checkpoint排序层为World,并Overrides

[外链图片转存中…(img-aymDirnl-1721963537176)]

11.制作Pickups预制体

在Prefabs文件夹下,新建Pickups文件夹,保存pickup预制体

将Gem和HealthPickup拖入到Pickups文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值