我会在这里发布项目的链接我似乎无法弄清楚如何使我的OnMouseEnter
功能正常工作(它已经在以前的项目中工作但现在已经赢了) 。
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是它似乎无法识别的部分(我的想法是应该识别鼠标事件的盒子对撞机并不认识它)。
答案 0 :(得分:1)
场景中的背景游戏对象与菜单项重叠。将Background游戏对象的位置更改为略微落后于菜单项,OnMouseEnter将注册。此外,更改OnMouseEnter内部材质颜色的代码行实际上并未更改文本的颜色,因为字体材质文本颜色设置为黑色,而TextMesh颜色应设置为白色属性是应该像这样切换的属性:
void Start()
{
GetComponent<TextMesh>().color = Color.black;
}
void OnMouseEnter()
{
GetComponent<TextMesh>().color = Color.white;
}
void OnMouseExit()
{
GetComponent<TextMesh>().color = Color.black;
}
这就是我如何让它发挥作用。