Unity OnMouseEnter not working

本文关键字:working not OnMouseEnter Unity | 更新日期: 2023-09-27 17:54:42

我将在这里发布项目链接,我似乎无法弄清楚如何使我的OnMouseEnter功能工作(它在以前的项目中工作,但现在不会)。

Google Drive - Space学员

using UnityEngine;
using System.Collections;
public class MouseHover : MonoBehaviour {
void Start(){
    GetComponent<Renderer>().material.color = Color.black;
}
void OnMouseEnter(){
    GetComponent<Renderer>().material.color = Color.white;
}
void OnMouseExit() {
    GetComponent<Renderer>().material.color = Color.black;
}
}

这段代码附加到主菜单上的5个菜单项,这应该使文本颜色从黑色变为白色,当鼠标悬停在它上面,我知道脚本的第一部分工作,但OnMouseEnter是它似乎无法识别的部分(我的想法是,应该识别鼠标事件的框碰撞器不识别它)。

Unity OnMouseEnter not working

场景中的Background游戏对象与菜单项重叠。将背景游戏对象的位置更改为稍微在菜单项后面,OnMouseEnter将会注册。另外,在OnMouseEnter中改变材质颜色的那行代码实际上并没有改变文本的颜色因为Font material text color被设置为黑色,而它应该被设置为白色而TextMesh color属性应该像这样被切换:

void Start()
{
    GetComponent<TextMesh>().color = Color.black;
}
void OnMouseEnter()
{
    GetComponent<TextMesh>().color = Color.white;
}
void OnMouseExit()
{
    GetComponent<TextMesh>().color = Color.black;
}

我就是这样让它工作的