2017-02-26 38 views
0

如您所知,OnMouseDown在鼠標單擊上工作,但它運行在每個對撞機上。我的簡單問題是,我可以限制OnMouseDown事件運行在一些特定的碰撞體而不是所有的碰撞體上,因爲我正在使用一些碰撞體進行觸發。那些我用於觸發器的碰撞器不想通過onMouseDown命中。 enter image description here限制特定碰撞上的onMouseDown事件

+0

它不會在每個對撞機上運行。它運行在gamobjects的碰撞器上,持有執行'OnMouseDown'消息的腳本。 – Hellium

+0

@Hellium你是對的。可能我沒有很好地定義這個問題。實際上,onMouseDown事件不會因爲腳本對象前面的對撞機而觸發。 –

+0

@Hellium我更新了問題 –

回答

2

您可以嘗試從鼠標位置進行光線投射並獲得對撞機命中。這是我會建議的。 這將做到這一點:https://docs.unity3d.com/ScriptReference/Input-mousePosition.html只需要進行光線投射和對撞機擊中測試。

如果您需要更多adivce,請告訴我。

我的個人喜好是用Input.getMouseButtonDown(0)替換mouseDownEvent並將它放在Update中。

+0

是的,這些是替代品 –