【转】UGUI之用脚本动态的改变Button的背景图片 和 颜色
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图片:
面板隐藏时的图片,其中的紫色区域即为一个面板,露出一部分是为了提示玩家,而红色三角形即为按钮背景,三角形朝下,表示面板隐藏
面板显示时的图片,紫色区域即为面板部分,三角形朝上,表示面板显示
这是怎么做到的呢?请看下面的代码:
代码一:
- <span style="font-size:14px;">using UnityEngine;
- using System.Collections;
- public class Status : MonoBehaviour {
- public static bool hide = true;
- }</span>
代码二:
- <span style="font-size:14px;">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);
- }
- }
- }</span>
代码一是用于存储游戏状态的类Status,其中的静态变量hide用于表示面板的隐藏与否,代码二中的“ButtonPanels”表示面板对象,“2DSprites/buttoncontrol1"和”2DSprite/buttoncontrol2"表示两种状态下的Button背景图片,“Up2down"表示控制面板的按钮,函数Up2Down为按钮Up2down的回调函数
【转】UGUI之用脚本动态的改变Button的背景图片 和 颜色的更多相关文章
- 【android】listview改变选中行背景图片
[android]listview改变选中行背景图片 目标:当item选中时,改变其背景图片.效果图如下: 直接在listview的xml文件中使用listselector: 1 2 3 4 5 6 ...
- cocos2dx 3.x(动态改变精灵的背景图片)
//更换精灵CCSprite的图片有两种方式. //直接通过图片更换 //使用setTexture(CCTexture2D*)函数,可以重新设置精灵类的纹理图片. // auto bg = Sprit ...
- 改变Button文字和图片的位置
button.imageEdgeInsets = UIEdgeInsetsMake(0, labelWidth, 0, -labelWidth);button.titleEdgeInsets = UI ...
- 通过渲染改变tabBarItem的背景图片
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } p.p2 { margin: 0.0px 0. ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Ajax编程中,经常要能动态的改变界面元素的样式
在Ajax编程中,经常要能动态的改变界面元素的样式,可以通过对象的style属性来改变,比如要改变背景色为红色,可以这样写:element.style.backgroundColor=”#ff0000 ...
- JS脚本动态给元素/控件添加事件
最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...
- 点击li标记中的<a>标记改变li背景图片怎样实现
<div class="nav"><ul><li id="li1" class="dianji" onclic ...
- android Button 切换背景,实现动态按钮和按钮颜色渐变
android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变 1.右键单击项目->new->Oth ...
随机推荐
- POJ 3421 X-factor Chains(构造)
这条链依次乘一个因子.因为n<2^20,sqrt(n)分解因子,相同的因子相对顺序取一个. 组合公式计算一下就好. #include<cstdio> #include<iost ...
- Hbase各种查询总结
运用hbase好长时间了,今天利用闲暇时间把Hbase的各种查询总结下,以后有时间把协处理器和自定义File总结下. 查询条件分为: 1.统计表数据 2,hbase 简单分页 3,like 查询 4 ...
- 2018.10.29 NOIP2018模拟赛 解题报告
得分: \(70+60+0=130\)(\(T3\)来不及打了,结果爆\(0\)) \(T1\):简单的求和(点此看题面) 原题: [HDU4473]Exam 这道题其实就是上面那题的弱化版,只不过把 ...
- 5.1 Object类型
创建Object实例的方式有两种 ① 使用new操作符跟Object构造函数 var person = new Object(); person.name = "Tom"; pei ...
- MAC之tar解压与压缩gz打包命令
tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件! ...
- CSVDE
csvde -f C:\export_OrganizationalUnit.csv -r '(objectClass=organizationalUnit)' -l 'displayName,prox ...
- 梁勇Java语言程序设计第三章全部例题 为第五次作业
完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...
- 深入理解java虚拟机读书笔记1--java内存区域
Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途.创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随 ...
- Linux入门-第九周
1.判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户 AWK简介:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报 ...
- 【TP】TP如何向模板中的js传变量
<input type="hidden" class= "val" value = "{$value}" /> <scri ...