unity开发炉石传说系列英雄的水晶代码部分代码

炉石里面英雄的水晶代码:


using UnityEngine;
using System.Collections;

public class Herocrystal : MonoBehaviour {

    //本例假设最大10个水晶,处理玩家拥有水晶数量,可用水晶数量和系统最大水晶数量之间的关系并显示出来

    public int usablecrystals=1;//玩家可用初始水晶量

    public int allcrystals;//系统最大水晶量

    public int totalcrystals = 1;//玩家拥有初始水晶量

    public  UISprite[] savecrystals;//保存的水晶量

    private UILabel uilabel;

    void Awake()
    {
        uilabel = this.GetComponent<UILabel>();
        allcrystals = savecrystals.Length;//最大的水晶量是保存的水晶量
        Showcrystals();
    }

    void Showcrystals()//显示水晶
    {
        for (int i = totalcrystals; totalcrystals < allcrystals; totalcrystals++)
        {
            savecrystals[totalcrystals].gameObject.SetActive(false);//大于totalcrystals的是不可见的
        }

        for (int i = 0; i < totalcrystals; i++)
        {
            savecrystals[totalcrystals].gameObject.SetActive(true);//要求小于totalcrystals的显示出来
        }


        for (int k = usablecrystals; usablecrystals < totalcrystals; usablecrystals++)
        {

            savecrystals[usablecrystals].spriteName = "素材里sprite的名字";//赋予新的sprite让total的显示为灰色,表示玩家拥有但不可使用的水晶即灰色

        }

        for (int i = 0; i < usablecrystals; i++)
        {
            if (i == 9)
            { }//本例里最大10个水晶所以10号水晶特殊,括号里要处理特殊水晶
            else
                savecrystals[i].spriteName = "" + (i + 1);//可以用也可看见的水晶名字(找到这个sprite的prefabs就各种属性都有了),数组是0号下标记所以要i+1表示从1开始,()里的先执行
        }

        uilabel.text = usablecrystals + "/" + totalcrystals;//label里显示的内容:可用水晶数量/拥有水晶量

    }

   
   

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值