为什么onmousedown在空的游戏对象上不起作用?

时间:2019-09-02 20:44:24

标签: c# unity3d

我在游戏对象上添加了一个对撞机。 但是脚本中的onmousedown永远不会触发。

Back

还有脚本Back

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Back : MonoBehaviour
{
    public GameObject[] objectstexts;
    public Rotate rotate;

    private void OnMouseDown()
    {
        rotate.StartRotations();
    }
}

背面的游戏对象不是多维数据集,也不是我要单击的多维数据集。 我使用Back空游戏对象只是为了获得其名称,以切换底部多维数据集上的名称。从退出到返回。

后空游戏对象位于“退出”多维数据集的同一位置。

2 个答案:

答案 0 :(得分:0)

确保脚本已附加到您要单击的游戏对象上。 确保您已启用对撞机 确保您没有调整对撞机的大小或位置 确保没有其他对撞机。 OnMouseDown()的工作方式与Raycast()一样……第一件事就是获得OnMouseDown()的作用。

如果一切正常,但仍然无法正常工作,请删除该对象,然后通过添加新对象,添加脚本来重新开始...

答案 1 :(得分:0)

关于OnMouseDown API的第一条声明是

  当用户在OnMouseDownGUIElement上方按下鼠标按钮时,会调用

Collider

您的游戏对象没有任何这些对象。

例如,您可以在其中添加BoxCollider,尽管不可见按钮的可用性非常可疑。但是,现在的主要问题可能是另一个立方体在此对撞机的前面,因此您从未真正击中它。

它被另一个立方体阻挡了