Unity坦克大战开发全流程——游戏场景——主玩家——属性奖励对象

游戏场景——主玩家——属性奖励对象

奖励预制体

将其制作成预制体,按照这种方法制作血量、最大血量、攻击力、防御力等几个奖励。

写代码

加完后把自己移除

然后再为这些属性加上特效

 

 ProReward的代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//奖励类型枚举
public enum E_ProType
{
    atk,
    def,
    hp,
    maxHP,
}

public class ProReward : MonoBehaviour
{
    public E_ProType proType = E_ProType.def;
    //默认的增加量
    public int ProValue = 50;
    //关联一个奖励特效
    public GameObject getEff;

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            PlayerObj player = other.GetComponent<PlayerObj>();

            switch(proType)
            {
                case E_ProType.atk:
                    player.atk += ProValue;
                    break;
                case E_ProType.def:
                    player.def += ProValue;
                    break;
                case E_ProType.hp:
                    player.hp += ProValue;
                    //更新血条
                    GamePanel.Instance.UpdateHP(player.maxHP, player.hp);
                    break;
                case E_ProType.maxHP:
                    player.maxHP = ProValue;
                    //更新血条
                    GamePanel.Instance.UpdateHP(player.maxHP, player.hp);
                    break;
            }

            //创建一个奖励特效
            GameObject eff = Instantiate(getEff, transform.position, transform.rotation);
            //控制特效的音效
            AudioSource audioSource = eff.GetComponent<AudioSource>();
            audioSource.volume = GameDataMgr.Instance.musicData.soundValue;
            audioSource.mute = !GameDataMgr.Instance.musicData.isOpenSound;
            audioSource.Play();

            Destroy(gameObject);
        }
    }
}

 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值