unity游戏关卡解锁和未解锁时的不同图片以及可或不可按下

该代码段展示了如何在Unity中通过修改Button组件的interactable属性来控制按钮是否可点击,以及如何更换按钮上的图片来表示关卡的锁定或解锁状态。使用Resources.Load方法加载‘lock’和‘unlock’图片资源,实现关卡解锁视觉效果。

若想让按钮不可按只要将interactable的勾勾关掉就可以了(一般用做未解锁的关卡)
在这里插入图片描述

    public void UpdateOnce() //用于更新过关数
    {
        /* 没解锁的抑制 */
        for(int i = 0;i<levelSelectButton.Length;i++){
            levelSelectButton[i].interactable = false;
            //获得button组件
            Button mButton = levelSelectButton[i].GetComponent<Button>();
            //将锁定的图片换上
            mButton.image.sprite = Resources.Load<Sprite>("lock");
        }
        /* 解锁了的开放 */
        for(int i = 0;i < unlockedLevelIndex;i++){      //最后要把18删掉  加18是为了让所有关卡都可以打开
            levelSelectButton[i].interactable = true;
            //Debug.Log("第"+levelSelectButton[i]+"关卡已解锁");
            //获得button组件
            Button mButton = levelSelectButton[i].GetComponent<Button>();
            //将锁定的图片换上
            mButton.image.sprite = Resources.Load<Sprite>("unlock");
        }

        PlayerPrefs.GetInt("modleAmount",levelSelectButton.Length); //获得总共关卡数,用于隐藏modle
    }

代码中的**GameObject.interactable = true;**这个就是让按钮重新激活的按钮

代码中的mButton.image.sprite = Resources.Load(“lock”);是换图片的操作,其中mButton也是GameObject类型,"lock"是图片名,存在Resources文件夹中,如果没有Resources文件夹则自己在根处创建一个
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

注册了七年的新人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值