服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - Unity3d 如何更改Button的背景色

Unity3d 如何更改Button的背景色

2022-11-13 12:32无涯Andy C#

这篇文章主要介绍了unity3d GUI.Button 自定义字体大小及透明背景方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

?
1
2
3
4
5
6
7
8
using UnityEngine;
using System.Collections;
public class ButtonStyle : MonoBehaviour {
    public Color _color;//在编辑环境下选择背景色,透明度不能为0
    public Texture2D tex;
 
 void OnGUI(){GUI.Button(new Rect(0,0,100,100),"tex");Color oldColor = GUI.backgroundColor;//保存原有的背景色GUI.backgroundColor = _color;//更改背景色GUI.Button (new Rect (650,20,150,120), tex);//这个按钮的背景色发生了变化 GUI.backgroundColor = oldColor;//恢复原来的背景色GUI.Button(new
 Rect(140,100,100,100),"tex");//这个按钮恢复了以前的背景色}}

Unity3d 如何更改Button的背景色

补充:Unity中Button的颜色如何用脚本改变

用脚本更改按钮的颜色组合

?
1
2
3
4
5
6
7
8
9
10
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
}

补充:unity 发光字体_Unity3D 设置OnGUI中的字体样式、字体颜色、字体大小等

一:字体样式

从系统盘,如C:\Windows\Fonts找一个.ttf格式的字体库,放到Assets目录下。

此时选中该字体库,在Inspector面板可以修改字体的大小,试了一下修改字体的颜色(Font Color)无效

Project面板右键选择创建GUI Skin,或者Assets-->Create-->GUI Skin

在新建的GUI Skin的Inspector面板,拖拽字体库到其Font属性

在需要使用的脚本,声明一个公共public GUISkin guiSkin;然后在OnGUI()中设置GUI.skin = guiSkin;

二:改字体颜色

在OnGUI()中使用GUI.color = Color.XXX;便可以实现

三:可以使用GUI Style来实现对GUI样式的重写(颜色、字体大小等等)

但是比较麻烦,会打乱默认的GUI界面,需要重新把所有东西设置好。

在脚本中声明一个public 的GUIStyle变量即可,把脚本拖拽给物体后,在对应物体的Inspector界面便可以对该GUIStyle进行编辑

脚本中使用该GUIStyle,只需要在GUI.XXX(,,GUIStyle XX)调用这个GUIStyle变量即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/xuanjian6/article/details/10073245

延伸 · 阅读

精彩推荐
  • C#Visual Studio 2019 清理空行问题(非正则表达式)

    Visual Studio 2019 清理空行问题(非正则表达式)

    这篇文章主要介绍了Visual Studio 2019 清理空行问题(非正则表达式),本文通过实例截图给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价...

    euphorias3992022-08-30
  • C#C#利用栈实现加减乘除运算

    C#利用栈实现加减乘除运算

    这篇文章主要介绍了C#利用栈实现加减乘除运算的实现方法,需要的朋友可以参考下...

    Don_Yao10422022-08-08
  • C#.NET的深复制方法(以C#语言为例)

    .NET的深复制方法(以C#语言为例)

    深复制需要将对象实例中字段引用的对象也进行复制,在平时的编程工作中经常要用到这种复制方式,下面以c#为例来演示一下方法。...

    北风其凉8902021-12-08
  • C#Unity3D运行报DllNotFoundException错误的解决方案

    Unity3D运行报DllNotFoundException错误的解决方案

    这篇文章主要介绍了Unity3D运行报DllNotFoundException错误的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    狂云歌11302022-11-13
  • C#Unity3D制作序列帧动画的方法

    Unity3D制作序列帧动画的方法

    这篇文章主要为大家详细介绍了Unity3D制作序列帧动画的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    qq_339945665302022-03-10
  • C#C# 8.0可空引用类型的使用注意记录

    C# 8.0可空引用类型的使用注意记录

    这篇文章主要给大家介绍了关于C# 8.0可空引用类型使用注意的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价...

    自来喵的野9882022-07-19
  • C#C#实现简单的3DES加密解密功能示例

    C#实现简单的3DES加密解密功能示例

    这篇文章主要介绍了C#实现简单的3DES加密解密功能,结合实例形式分析了C#实现3DES加密解密的定义、使用等具体步骤与相关操作技巧,需要的朋友可以参考下...

    5t4rk4802022-01-20
  • C#C#中Dictionary<TKey,TValue>排序方式的实现

    C#中Dictionary<TKey,TValue>排序方式的实现

    这篇文章主要介绍了C#中Dictionary<TKey,TValue>排序方式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    浮海扬尘9952022-11-02