c# - c# 脚本应该在悬停时更改文本颜色。脚本不是在游戏中改变颜色,而是在改变材质颜色
问题描述
当鼠标悬停在盒子碰撞器上时,我的 c# 脚本应该改变文本的颜色。颜色在游戏中没有明显变化,但我可以看到右下角的材质发生了变化。如何正确更改颜色?
我已经确保我拥有所有必要的对撞机,但材料变化并未转化为实际对象。
using System.Collections;
using UnityEngine;
public class MouseHover : MonoBehaviour
{
private void Start()
{
GetComponent<Renderer>().material.color = Color.black;
}
private void OnMouseEnter()
{
GetComponent<Renderer>().material.color = Color.red;
}
private void OnMouseExit()
{
GetComponent<Renderer>().material.color = Color.black;
}
}
解决方案
那么GetComponent<Renderer>().material.color
会得到你的材料的颜色。你也许应该得到文本组件GetComponent<Text>().color
:D
推荐阅读
- sql - 在 SQL 查询结果中显示 XML Schema
- php - SQL查询返回不属于当前用户的所有行的组合数据
- c# - WMI 值似乎不一致
- openlayers - 如何使用 zoomify 进行投影测量?
- c++ - 使用 jsoncpp 库时的链接问题
- javascript - 如何使用 html5 画布为多个形状的移动设置动画
- angular - NullInjectorError:Angular 中没有路由器测试用例的提供者
- swift - swift - cannot play a video loaded with AVAssetResourceLoaderDelegate
- excel - Excel:根据上一个选择标准替换下一行中的文本
- android - 为什么在片段中工具栏= null?