Unity3d 如何使用';更改对象的颜色;onMouseCenter';?
过去的脚本是:Unity3d 如何使用';更改对象的颜色;onMouseCenter';?,unity3d,unityscript,unity5,Unity3d,Unityscript,Unity5,过去的脚本是: function OnMouseEnter() { renderer.material.color = Color.grey; } 但是在更新之后,使用它现在已经过时了,我不知道当前的语法是什么,也不知道如何找到它。我到处搜索都找不到答案。自从Unity 4.6以来,有了一种处理输入事件的新方法。必须使用UnityEngine.EventSystems命名空间中的接口。看看这个例子: using UnityEngine; using System.Collections
function OnMouseEnter()
{
renderer.material.color = Color.grey;
}
但是在更新之后,使用它现在已经过时了,我不知道当前的语法是什么,也不知道如何找到它。我到处搜索都找不到答案。自从Unity 4.6以来,有了一种处理输入事件的新方法。必须使用UnityEngine.EventSystems命名空间中的接口。看看这个例子:
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems; // dont forget this
public class SomeController : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
private bool hovered = false;
// from IPointerEnterHandler
public void OnPointerEnter(PointerEventData eventData)
{
hovered = true;
}
// from IPointerExitHandler
public void OnPointerExit(PointerEventData eventData)
{
hovered = false;
}
// from IPointerClickHandler
public void OnPointerClick(PointerEventData eventData)
{
// send some event
}
}
不过,您必须将碰撞器组件添加到对象中 可能是因为字段
渲染器
已过时。现在你通过GetComponent()
获得渲染器,应该就这些了。它现在显示“意外标记”和“期望”),找到了“材质”。WOOPS,这是JavaScript,不是C,抱歉。JS语法是GetComponent(Renderer.material.color=color.grey代码>我先这么做了,但它说圆点是一个意外的项目,嗯,我再试了一次,这次它说结尾应该有一个分号,即使有。以下是当前代码:“函数onmouseinter(){GetComponent().material.color=color.grey;}函数OnMouseExit(){GetComponent().material.color=color.white;}”