菜鸟学习OGRE和天龙八部之十五: 添加MFC的菜单,来控制场景的显示

本文详细介绍了如何通过添加菜单功能,简化操作流程,并利用全局静态类来管理跨文件使用的布尔变量。包括消息响应机制的实现,以及如何在帧开始时更新菜单状态。文章涉及了ON_COMMAND和ON_UPDATE_COMMAND_UI消息的使用,以及场景管理器中对象指针的获取挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了方便查看,添加了一些菜单功能



实现起来也很简单,点击菜单就是bool值的转换而已,然后在frameStarted里面更新:

1, 做一个全局的静态类来保存这些全局的bool值变量,因为这些变量要跨几个文件用到,需要全局的,

2, 自己添加ON_COMMAND消息,并实现消息响应函数,函数就是bool值的转换而已

3, 添加ON_UPDATE_COMMAND_UI消息,并实现消息响应函数,处理菜单的状态,主要用来显示菜单的对勾

4, 在frameStarted更新状态,设置显示还是不显示,有点麻烦的是要保存所有对象的指针....从场景管理器里面好像不好弄出来

 

 

  1. /************************************************************************/  
  2. /* @author LYN 2009.11.6 QQ:18052887                                    */  
  3. /************************************************************************/  
  4.   
  5.   
  6. /************************************************************************/  
  7. /* @remarks 静态公有类, 放置一些静态的全局变量供所有类调用       */  
  8. /************************************************************************/  
  9. class CPublic  
  10. {  
  11. public:  
  12.     CPublic(){}  
  13.     virtual ~CPublic(){}  
  14.   
  15.     static bool m_fogEnable;  
  16.     static bool m_lightEnable;  
  17.     static bool m_StaticEntityEnable;  
  18.     static bool m_modelEnable;  
  19.     static bool m_particleSystemEnable;  
  20.     static bool m_terrainLiquidEnable;  
  21.     static bool m_wCollisionEnable;  
  22.     static bool m_soundEnable;  
  23.     static bool m_soundPositionEnable;  
  24.     static bool m_bloomEnable;  
  25.     static bool m_miniMapEnable;  
  26.     static bool m_debugOverlayEnable;  
  27.     static bool m_freeCameraEnable;  
  28. };  
  29.   
  30.   
  31.   
  32.   
  33.   
  34. /************************************************************************/  
  35. /* @author LYN 2009.11.6 QQ:18052887                                    */  
  36. /************************************************************************/  
  37.   
  38. #include "stdafx.h"  
  39. #include "CPublic.h"  
  40.   
  41. // 初始化静态成员变量  
  42. bool CPublic::m_fogEnable = true;  
  43. bool CPublic::m_lightEnable = true;  
  44. bool CPublic::m_StaticEntityEnable = true;  
  45. bool CPublic::m_modelEnable = true;  
  46. bool CPublic::m_particleSystemEnable = true;  
  47. bool CPublic::m_terrainLiquidEnable = true;  
  48. bool CPublic::m_wCollisionEnable = false;  
  49. bool CPublic::m_soundEnable = true;  
  50. bool CPublic::m_soundPositionEnable = false;  
  51. bool CPublic::m_bloomEnable = false;  
  52. bool CPublic::m_miniMapEnable = false;  
  53. bool CPublic::m_debugOverlayEnable = true;  
  54. bool CPublic::m_freeCameraEnable = true;  

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值