2015-12-14 104 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組件到你的對象。