我尝试在我的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)
代码中。