< 山东大学软件学院项目实训 > 渲染引擎系统(四)

本文档介绍了在软件学院项目实训中,如何构建渲染引擎的菜单和次级菜单,包括生成菜单、布局设计以及实现键盘快捷键功能。在`MogwaiSettings::renderMainMenu`函数中,利用UI组件生成主菜单和下拉菜单,并通过判断按钮状态调用相应功能函数。此外,详细阐述了键盘快捷键的实现,如F1键呼出提示窗口,F10键切换FPS窗口显示,以及Ctrl+O的场景或脚本加载功能。

目录

前言

主要工作

一、生成菜单与次级菜单

二、完成基础的菜单布局

三、实现键盘快捷键


前言

本节主要讲述菜单、次级菜单、分隔符等的运用,以及工具栏UI的实现,并实现快捷键功能。

主要工作

本项目使用的软件框架中,包含了UI组件的使用方法,本节的主要工作就是使用对应的函数,实现UI界面的布局以及界面的开启、关闭、快捷键的功能。

一、生成菜单与次级菜单

菜单等组件的生成可以在void MogwaiSettings::renderMainMenu(Gui* pGui)函数中实现。

void MogwaiSettings::renderMainMenu(Gui* pGui)
    {
        if (mAutoHideMenu && mMousePosition.y >= 20) return;

        auto m = Gui::MainMenu(pGui);
    }

函数的最开始保留了鼠标操作的判定,如果隐藏工具栏或鼠标坐标y值大于等于20时,该函数不进行具体功能。否则,使用Gui内置函数创建主菜单父级对象。

之后,便可以根据自身需求,使用功能函数生成添加相应的UI组件。

            auto file = m.dropdown("File");
            if (file.item("Load Script", "Ctrl+O")) mpRenderer->loadScriptDialog();
            if (file.item("Save Config")) mpRenderer->saveConfigDialog();
            if (file.it
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值