2015-12-14 101 views
2

曾经是该脚本:我将如何使用'OnMouseEnter'更改对象的颜色?

function OnMouseEnter() 
{ 
    renderer.material.color = Color.grey; 
} 

但是,使用,现在是更新后已经过时,我不知道目前的语法是什么或者怎么一会去寻找它。我到处搜索并找不到答案。

+0

可能因为字段'renderer'已过时。现在你通过'GetComponent ()'得到渲染器,那应该是全部。 –

+0

它现在说'意外的令牌')和'期待',找到“材料”。 – BrookDaCow

+0

WOOPS,这个JavaScript,不是C#,对不起。 JS的语法是'GetComponent(Renderer).material.color = Color.grey;' –

回答

0

由于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 
    } 
} 

但是,你必须添加collider组件到你的对象。