IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UnityEditor之VisualElement的样式uss的背景颜色和字体设置 -> 正文阅读

[游戏开发]UnityEditor之VisualElement的样式uss的背景颜色和字体设置

众所周知,Unity2019(2017??)之后推出了UIToolKit,

使得UI可以支持样式文件(uss)

(其实我是最后一个才知道)

说起样式文件,其实大家第一时间应该想到的应该是html+css

而事实也是如此

写法也是可以无限接近.css

.gs{
    /*--備注了的都是不行的寫法(貌似图片必须放在指定目录下,url()參考:https://docs.unity3d.com/Manual/UIE-USS-PropertyTypes.html*/
    --background-image: url("UssImg/bg");
    --background-image: resource("UssImg/bg.jpg");//有后缀不行
    background-image: resource("UssImg/bg");        //和Unity传统一样,res获取不带后缀
    
}

只不过,我们也发现,整个UIToolkit的基类是VisualElement

我们也查了一下,其实C#的xamain 就那么刚刚又visualelement,也又backgroundcolor属性

当然,也没有更多的证据证明Unity是抄袭Xmmarin的

反正,就是看着办,直接写代码吧

想,把一个搜索框改变样式

uss代码

.pro貌似是。。。(个人冤枉啊,良好程序员啊,没有用暴力啊)

.search-input则是样式文件的class命名,暂时没发现# id命名(命名可以随意)

.pro .gs.search-input TextInput {
    --border-color: #4f4f4f;
    background-color: white;
    color:#9a828a;
}

.gs.search-input TextInput {
    padding-left: 24px;
    padding-right: 24px;
    margin-bottom: 0px;
    border-width: 1px;
    border-radius: 5px;
    border-color: #c6c6c6;
    -unity-overflow-clip-box: content-box;
}

c#代码

           this.AddToClassList("search-input");

添加.uss文件代码

//.GetNewExcelSheetPath()用了一些技巧,主要是获取uss文件的绝对路径
var styleSheetPath = Utilities.GetNewExcelSheetPath();
var stylesheet = AssetDatabase.LoadAssetAtPath<StyleSheet>(styleSheetPath);
rootVisualElement.styleSheets.Add(stylesheet);

获取路径代码(Unity Editor)

      internal static string GetNewExcelSheetPath()
        {
            var styleSheetsInProject = AssetDatabase.FindAssets("t:StyleSheet");
            foreach (var id in styleSheetsInProject )
            {
                var path = AssetDatabase.GUIDToAssetPath(id);
                var name = GetFileName(path);
                if (name.Contains("excelsheet"))
                {
                    var content = File.ReadAllText(path);
                    if (content.Contains("ac00000b1d1e4330a4d11276fc6dcea9"))//暫時為 excelsheetW1.uss
                    {
                        return path;
                    }
                }
            }
            //如果找不到目录文件,则返回默认目录路径
            return "Assets/ExcelSheetScripts/Editor/Styles/excelsheet.uss";
        }

?

根据以上代码,修改后的样式

参考

UIElement USS属性_漫漫无期的博客-CSDN博客

Unity2019 UIElement 笔记(六)USS介绍上_工 具 人-CSDN博客_unity uss

USS 支持的属性 - Unity 手册

html中input中文字的字体颜色,修改input框中placeholder的字体颜色_浪个锤子情报局的博客-CSDN博客

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:54:07  更:2022-03-08 22:55:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:55:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码