You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中通过脚本修改Button按钮颜色显示异常问题如何解决

Unity修改Button颜色显示异常问题解决方案
  • Unity内置的Color类构造函数接收的R/G/B/A参数均为0~1范围的浮点值,传入超过1的数值会被Unity自动截断为1。

你之前编写button1.color = new Color(255, 0, 0);时刚好能显示红色,是因为255被截断为1,0保持原值,最终得到的是标准红色(1, 0, 0, 1),属于巧合碰对了参数效果。
当你传入(237, 85, 59)时,三个数值都远大于1,全部被截断为1,最终得到的是(1,1,1,1)的纯白色,和你预期的颜色不符。

解决方案1:将0255的色值归一化到01范围

每个颜色通道值除以255即可,注意要加f后缀标识为浮点数运算,避免整数除法丢失精度:

button1.color = new Color(237/255f, 85/255f, 59/255f);
// 如需调整透明度可以传入第四个参数,范围同样是0~1,1为完全不透明

解决方案2:使用支持0~255参数的Color32类

Color32是专门对应8位通道色值的类,直接传入0~255的整数参数即可,使用更便捷:

// 第四个参数为透明度通道,255为完全不透明
button1.color = new Color32(237, 85, 59, 255);

内容的提问来源于stack exchange,提问作者Tasneem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:45:00