http://blog.csdn.net/u014771617/article/details/45102701

public Button button;
void Start()
{
ColorBlock cb = new ColorBlock();
cb.normalColor = Color.red;
cb.highlightedColor = Color.green;
cb.pressedColor = Color.blue;
cb.disabledColor = Color.black;
button.colors = cb
}
要改颜色得这样写

当我们在制作一些特殊的面板时,有时会通过一个按钮来控制面板的显示与隐藏,同时又要按钮的背景图片能够表明当前面板的显示状态时,这就涉及到动态的改变Button的背景图片了。

先呈上demo图片:

面板隐藏时的图片,其中的紫色区域即为一个面板,露出一部分是为了提示玩家,而红色三角形即为按钮背景,三角形朝下,表示面板隐藏

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

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

代码一:

  1. <span style="font-size:14px;">using UnityEngine;
  2. using System.Collections;
  3. public class Status : MonoBehaviour {
  4. public static bool hide = true;
  5. }</span>

代码二:

  1. <span style="font-size:14px;">using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class DanjiButtonCallback : MonoBehaviour
  5. {
  6. public void Up2Down()
  7. {
  8. GameObject trans = GameObject.Find("ButtonPanels");
  9. GameObject obj = GameObject.Find("Up2down");
  10. Button mbtn = obj.GetComponent<Button>();
  11. if (Status.hide)
  12. {
  13. Status.hide = false;
  14. mbtn.image.sprite = Resources.Load<Sprite>("2DSprites/buttoncontrol1");
  15. trans.transform.position -= new Vector3(0, 40,0);
  16. }else
  17. {
  18. Status.hide = true;
  19. mbtn.image.sprite = Resources.Load<Sprite>("2DSprites/buttoncontrol2");
  20. trans.transform.position += new Vector3(0, 40, 0);
  21. }
  22. }
  23. }</span>

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

【转】UGUI之用脚本动态的改变Button的背景图片 和 颜色的更多相关文章

  1. 【android】listview改变选中行背景图片

    [android]listview改变选中行背景图片 目标:当item选中时,改变其背景图片.效果图如下: 直接在listview的xml文件中使用listselector: 1 2 3 4 5 6 ...

  2. cocos2dx 3.x(动态改变精灵的背景图片)

    //更换精灵CCSprite的图片有两种方式. //直接通过图片更换 //使用setTexture(CCTexture2D*)函数,可以重新设置精灵类的纹理图片. // auto bg = Sprit ...

  3. 改变Button文字和图片的位置

    button.imageEdgeInsets = UIEdgeInsetsMake(0, labelWidth, 0, -labelWidth);button.titleEdgeInsets = UI ...

  4. 通过渲染改变tabBarItem的背景图片

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } p.p2 { margin: 0.0px 0. ...

  5. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  6. Ajax编程中,经常要能动态的改变界面元素的样式

    在Ajax编程中,经常要能动态的改变界面元素的样式,可以通过对象的style属性来改变,比如要改变背景色为红色,可以这样写:element.style.backgroundColor=”#ff0000 ...

  7. JS脚本动态给元素/控件添加事件

    最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...

  8. 点击li标记中的<a>标记改变li背景图片怎样实现

    <div class="nav"><ul><li id="li1" class="dianji" onclic ...

  9. android Button 切换背景,实现动态按钮和按钮颜色渐变

        android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变     1.右键单击项目->new->Oth ...

随机推荐

  1. IOS 图片剪切(封装数据)

    封装 :生成头像(UIImage (NJ).h / .m @interface UIImage (NJ) /** * 生成头像 * * @param icon 头像图片名称 * @param bord ...

  2. IOS enum(枚举)使用

    typedef enum { MJMessageTypeMe=, MJMessageTypeOther }MJMessageType; /** *信息的类型 * */ @property (nonat ...

  3. 【BZOJ1059】[ZJOI2007] 矩阵游戏(匈牙利算法)

    点此看题面 大致题意: 有一个\(N*N\)的\(01\)矩阵,可以任意交换若干行和若干列,问是否有方案使得左上角到右下角的连线上全是\(1\). 题意转换 首先,让我们来对题意进行一波转化. 如果我 ...

  4. 关于profile集合

    profile集合是mongodb的慢操作日志 > db.getProfilingStatus() { , , } 可以通过getProfilingStatus来查看当前profile设置 pr ...

  5. python_40_通过脚本转换参数实现替换

    import sys f=open('yesterday','r',encoding='utf-8') f_new=open('yesterday_update','w',encoding='utf- ...

  6. 【wiki】红帽linux

    Red Hat Enterprise Linux From Wikipedia, the free encyclopedia wiki 上面红帽的版本信息. https://en.wikipedia. ...

  7. ZJOI2019Round#1

    考的这么差二试基本不用去了 不想说什么了.就把这几天听课乱记的东西丢上来吧 这里是二试乱听课笔记ZJOI2019Round#2 ZJOI Round#1 Day1 M.<具体数学>选讲 罗 ...

  8. JZOJ 4757. 树上摩托

    Description Sherco是一位经验丰富的魔♂法师.Sherco在第零次圣杯战争中取得了胜利,并取得了王之宝藏——王の树.他想把这棵树砍去任意条边,拆成若干棵新树,并装饰在他的摩托上,让他的 ...

  9. Labyrinth POJ - 1383

    Labyrinth POJ - 1383 The northern part of the Pyramid contains a very large and complicated labyrint ...

  10. A计划 hdu2102(BFS)

    A计划 hdu2102 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国 ...