**
Unity3D 开发工具 1:文本颜色赋值
游戏开发过程中一个Text不同的时间或者状态可能会显示不同的颜色,每次改变颜色直接调用GetComponent
1:需要改变文本颜色的Text 挂组件ColorStatus.cs
2:需改改变的颜色状态自己填入Status List
总共多少种
每种的Status 和Color 需要自己赋值
3:改变颜色只要调用GetComponent().SetStatus(“status”);就行
4总结:如果后期由于游戏需要,这几种颜色需要改变,就不用在脚本里改变方法了,只需要改变该控件的状体对应的颜色值就可以了,是不是很方便
5:下面是核心代码
public class ColorStatus : MonoBehaviour
{
[Serializable]
public struct StatusInfo
{
public string status;
public Color color;
}
public List<StatusInfo> statusList;
private Graphic _graphic;
private Graphic graphic
{
get
{
if (_graphic == null)
{
_graphic = GetComponent<Graphic>();
}
return _graphic;
}
}
public void SetStatus(string status)
{
for (int i = 0; i < statusList.Count; i++)
{
var statusInfo = statusList[i];
if (statusInfo.status == status)
{
graphic.color = statusInfo.color;
}
}
}
public void SaveCurStatus()
{
if (statusList == null)
{
statusList = new List<StatusInfo>();
}
statusList.Add(new StatusInfo { status = "", color = graphic.color});
}
}
**
下一篇:unity列表优化,横向无限列表
**
具体实现Unity工程 关注微信公众号GameResources获取 Unity工程
**