我希望能够将鼠标悬停在GameObject(代理)上,并在右键或左键单击,创建一个类似于Windows右键菜单的浮动菜单。我尝试过使用OnGUI()和OnMouseOver()的组合,但我要么没有得到我需要的行为,要么根本没有得到任何东西。以下是我到目前为止的情况:
Resturant
mouseOver和mousePos初始设置为false。
答案 0 :(得分:0)
我所做的是在Canvas中创建我想要的菜单,添加动画控制器和动画并将其放在摄像机视图之外(动画将菜单移动到摄像机视图内),最后添加一个bool条件触发器来隐藏或显示菜单
然后我只需将一个单击功能附加到一个按钮,以便在有人点击它时触发动画
public class ShowMenu : MonoBehaviour
{
public Animator ObjectBtnAnimations;
public void HideObjControls()
{
if (ObjectBtnAnimations.GetBool("hide"))
{
ObjectBtnAnimations.SetBool("hide", false);
}
else
{
ObjectBtnAnimations.SetBool("hide", true);
}
}
}
答案 1 :(得分:0)
Input.GetMouseButtonDown()仅针对单个帧执行,因此正在绘制GUI.Box,但仅针对单个帧。
要修复此Input.GetMouseButton(),只要按下该按钮,就可以使用它。