Unity(C#)修改GameObject颜色报错:Color无4参数构造函数
解决Unity中“Color不包含接受4个参数的构造函数”错误
这个错误几乎都是因为你脚本里导入了错误的Color类——System.Drawing.Color(这是.NET桌面程序的颜色类),而非Unity引擎自带的UnityEngine.Color。只有后者支持new Color(r, g, b, a)这种四参数构造方式,前者的构造逻辑完全不同。
解决步骤:
- 打开脚本检查顶部的
using语句,找到并删除using System.Drawing;(如果存在) - 要是不想删除该命名空间,就在代码里明确指定用Unity的Color,写成
UnityEngine.Color
修正后的代码示例:
using UnityEngine; public class NewColor : MonoBehaviour { private Renderer rend; [SerializeField] private Color colorToTurnTo = Color.white; // 直接用Unity内置白色常量更省事 void Start() { rend = GetComponent<Renderer>(); // 加空判断,避免找不到Renderer组件时崩溃 if (rend != null) { rend.material.color = colorToTurnTo; } } }
额外提示:Unity内置了很多常用颜色常量,比如Color.red、Color.blue,直接用比手写构造函数更简洁不易出错。
内容的提问来源于stack exchange,提问作者Pigefied
相关产品推荐
相关产品推荐

