为什么Unity活动以错误的方式工作?还是我



我尝试在我的Monobeabiour脚本中获得鼠标函数。

但它总是返回"布局"one_answers"重新绘制"。

    private void OnGUI() {
    Event e = Event.current;
    Debug.Log (e.type);
}

我的调试像:布局重新涂漆布局重新涂漆布局重新粉刷等等

为什么这样?我怎么知道获取event meastup?

edit1:

Event e = Event.current;
    int s = e.button;

我可以知道何时单击鼠标按钮0,但是我怎么知道何时获得鼠标up事件?

edit2:

我想在编辑器中使用它,而不是在播放模式下进行操作。有可能吗?

您可以使用if (Event.current.type == EventType.MouseUp)获取Event MouseUp事件。

这是一个完整的代码样本:

 void OnGUI()
 {
     Event mEvent = Event.current;
     if (mEvent != null && mEvent.isMouse)
     {
         //Get Mouse Down
         if (mEvent.type == EventType.MouseDown)
         {
         }
         //Get Mouse Up
         if (mEvent.type == EventType.MouseUp)
         {
         }
         //Get Mouse Move
         if (mEvent.type == EventType.MouseMove)
         {
         }
     }
 }

现在,要检测哪个鼠标按钮:

 //Left Mouse button
 if (mEvent.button == 0)
 {
 }
 //Right  Mouse button
 if (mEvent.button == 1)
 {
 }
 //Middle  Mouse button
 if (mEvent.button == 2)
 {
 }

您可以将它们放入if (mEvent.type == EventType.MouseDown)if (mEvent.type == EventType.MouseUp)代码中。

相关内容

最新更新