1. ホーム
  2. c#

[解決済み] Unity C# OnMouseDown()が動作しないのですが。なぜですか?

2022-02-27 06:40:49

質問

OnMouseDown()イベントに関して問題があります。このスクリプトが属するオブジェクトは、クリックすることで特定のアクションを実行することができるコンピュータのキャビネットです。しかし、最初の段階で行き詰ってしまいました。この問題をウェブで検索してみましたが、ほとんど誰も同じ問題を抱えていないようで、他の解決策も完璧には機能していません。どなたか助けていただけませんか?私は混乱しています...

public class ComputerScript : MonoBehaviour 
{
    private RotateForDisplay displayRotation;
    private GameObject displayObjects;

    private void Start()
    {
        displayObjects = GameObject.Find("DisplayObjects");
        displayRotation = displayObjects.GetComponent<RotateForDisplay>();
    }

    // This does not seem to work for some reason..
    private void OnMouseDown()
    {
        displayRotation.isRotating = false;
        Debug.Log("Mouse is down");
    }

}

解決方法は?

以下の点を確認してください。

  • ターゲットにコライダーがあり(このシステムはレイキャストのように動作します)、それが有効であることを確認します。
  • コライダがサイズ変更されたり、移動されていないか確認します。
  • コライダーを挟んだ他のオブジェクトがないかどうか確認してください。

お役に立てると良いのですが、頑張ってください。