MyGUI 学习(1)
来源:互联网 发布:微信公众号支付java 编辑:程序博客网 时间:2024/04/29 16:06
第一个例子:
生成一个类继承自base::BaseDemoManager,同时在头文件中加入#include"Base/BaseDemoManager.h"
在cpp中加入宏MYGUI_APP(类名)
这个宏定义了相应的应用程序接口(win32 or console?)
实际调用的是int startApp()方法
startApp()里面主要进行窗口的创建(create)、渲染(run)、销毁(destroy)等工作
create方法,根据width、height(默认1024、768)创建窗口,调用的其实都是Win32的函数,createRender方法与创建OpenGL渲染窗口相似,关联设备上下文、图形上下文以及清除背景色和深度等。
createGui()方法,
粗略的看了下,OpenGLPlatform应该是提供了对OpenGL方面的管理,里面主要就是三个数据成员OpenGLRenderManager* mRenderManager;//大概应该是对OpenGL命令的封装
Gui类应该是提供了MyGUI方面的管理,里面的数据成员都是以某某Manager结尾,且提供了比较方便的创建Widget、销毁Widget、连接或断开Widget、查找Widget的方法
setupResources()方法是用来解析资源路径的,资源的根路径和路径存储于resources.xml(当前工作目录)中,可以用addResourceLocation添加。资源的皮肤配置文件名字在mResourceFileName(默认为MyGUI_Core.xml)中。
createGui()方法之后是createInput()方法,这应该是用于出来鼠标、键盘方面的接口吧
createPointerManager()鼠标管理器,可以有不同的鼠标效果,配置文件里貌似可以设置。
createScene()这方法里面什么都没有,自己实现的子类应该重写该方法来实现自己的界面
_windowResized()窗口改变时调用,里面主要完成投影矩阵设置、鼠标响应区域设置、以及mPlatform->getRenderManagerPtr()->setViewSize(width,height);这句完成的是更改MyGUI每层的大小(我猜要适应不同分辨率屏幕的话,估计得在这儿下手)
啊,终于囫囵吞枣把create()方法大概流程看完了,自己都还没怎么弄懂,可想而知,具体看每一句代码的难度了。
开始run()方法,看起来简单不少
首先就是Windows的取消息、传递消息,captureInput();为空,啥都没有,难道是为特殊输入设备留的接口?
drawOneFrame()方法了
onRenderToTarget(this, mUpdate);最后是由多态调用了下面这段
void RenderManager::onRenderToTarget(IRenderTarget* _target,bool _update)
最后又是落到了LayerManager上,看来Layer是以后解读的重点了,我才Layer或许是一个批次渲染的意思。
最后是destroy();方法了,释放顺序和create创建的顺序相反。
重写createScene()方法
void TestKeeper::createScene()
{
}
第一个例子告一段落
- MyGUI 学习(1)
- MyGUI 学习(2)
- MyGUI 学习笔记(五)——MyGUI 中其他文件1——13.03.12
- MyGUI 学习笔记(一)——MyGUI sample1——13.01.23
- MyGUI 学习笔记(二)——MyGUI sample2——13.01.23
- MyGUI 学习笔记(三)——MyGUI sample3——13.02.07
- MyGUI 学习笔记(四)——MyGUI sample 4——13.03.11
- MyGui学习(报错记录及解决办法)
- MyGUI 总结1
- MyGui笔记(1)建立第一个工程
- MyGUI的阅读笔记(1) myGUi的单件
- mygui初探(一)基础
- MyGui笔记(4)渲染过程
- mygui初探(二)皮肤编辑器
- mygui初探(三)ui编辑器
- mygui初探(四)自定义ui控件
- MyGUI自动换行(修正选区)
- MyGui笔记(2)控件类型和皮肤
- 52单片机定时器2
- Android开发————LayoutInflater翻译
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013介绍 总结
- C++ Find Min and Max element in a BST
- VS2008+OpenGL环境下MyGUI编译
- MyGUI 学习(1)
- MyGUI ogre UnitTest_Layer例子运行问题(主要是分辨率设置问题)
- 宏定义中的 #和##
- MyGUI 中RTT 纹理在OSG中显示发转的问题
- MyGUI RTT到OSG Widget点选实现
- CSS常用属性和值
- LightOJ--1089 - Points in Segments (II)
- 【斐波那契】
- Android中SQLite之SQLiteOpenHelper详解