UGUI之用脚本动态的改变Button的背景图片

当我们在制作一些特殊的面板时,有时会通过一个按钮来控制面板的显示与隐藏,同时又要按钮的背景图片能够表明当前面板的显示状态时,这就涉及到动态的改变Button的背景图片了。       先呈上demo图片:
       面板隐藏时的图片,其中的紫色区域即为一个面板,露出一部分是为了提示玩家,而红色三角形即为按钮背景,三角形朝下,表示面板隐藏

        面板显示时的图片,紫色区域即为面板部分,三角形朝上,表示面板显示

       这是怎么做到的呢?请看下面的代码:
       代码一:

  • using UnityEngine;
  • using System.Collections;
  • public class Status : MonoBehaviour {
  •     public static bool hide = true;
  • }



代码二:


  • using UnityEngine;
  • using UnityEngine.UI;
  • using System.Collections;
  • public class DanjiButtonCallback : MonoBehaviour
  • {
  •     public void Up2Down()
  •     {
  •         GameObject trans = GameObject.Find("ButtonPanels");
  •         GameObject obj = GameObject.Find("Up2down");
  •         Button mbtn = obj.GetComponent<Button>();
  •         if (Status.hide)
  •         {
  •             Status.hide = false;
  •             mbtn.image.sprite = Resources.Load<Sprite>("2DSprites/buttoncontrol1");
  •             trans.transform.position -= new Vector3(0, 40,0);
  •         }else
  •         {
  •             Status.hide = true;
  •             mbtn.image.sprite = Resources.Load<Sprite>("2DSprites/buttoncontrol2");
  •             trans.transform.position += new Vector3(0, 40, 0);
  •         }
  •     }
  • }



代码一是用于存储游戏状态的类Status,其中的静态变量hide用于表示面板的隐藏与否,代码二中的“ButtonPanels”表示面板对象,“2DSprites/buttoncontrol1"和”2DSprite/buttoncontrol2"表示两种状态下的Button背景图片,“Up2down"表示控制面板的按钮,函数Up2Down为按钮Up2down的回调函数

转载于:https://www.cnblogs.com/feiyanstudio/articles/7325862.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值