今日时间:07.6.26
最近一段时间,先放下D3D的学习,实践2D编程。做项目,并且完善自己的2D/3D引擎.
写该引擎,不是为了做出什么出色的东西,主要是为了巩固自己学到的C++知识,实践C++知识,不然,都忘球了,呵呵。
实践吧,把自己知道的知识都放进去.某些地方可以用现成的(比如windows相关的方面)把注意力放在 资源管理,C++技术,架构管理方面.
DL game engine reference document 大纲: GUI CORE MATH COMMON DEBUG Dlapplication 基类设计原则: 1:支持 显处改动标题 2:支持 初始化应用程序 前后的服务操作。(virtual) 3:支持 wndProc消息处理 的前后服务操作,(即自定义消息)(virtual) 4::游戏主循环 (virtual) A:支持 主要游戏循环里的前后服务操作 (virtual) B:在这里处理windows消息循环. 5:为了尽可能的简化程序的代码,增加可读性,游戏的执行流程尽可能的隐藏.对外仅暴露很简陋的接口即可. Eg:if(game.init()) Game.run(); Return; 6:关于时间帧处理. 借处DLTimer去实现时间帧.定义最高帧频为100F/s. 最低的话就看不同的电脑配置而言了, 当没有到时间祯时。Sleep(); DLApplication 基类设计思想进化论: 1:但凡任何一个框架,框架的开发者都会提供简单代码使用示例,win32不例外,DX也不例外. 2:DLApplication 就是把win32的框加 封装进DLApplication类里面. 关于DLInput Init();完成设备初始化.失败返回 false; UpdateData();完成数据更新.并把鼠标及键盘的状态的改变,作为事件发出去. GetCursorPos()查询接口,返回鼠标位置 GetKeyState()查询键盘某一按键状态.按下返回true. 关于DLGraphic. Init(); DrawText(pos,RGb,”..”,…) Render(handleTexture,dstRect,srcRect,) 关于TextureMgr 本系统支持对图片的引用计数,对于同一个名字的图片.在内存中只保留一份拷贝!!! 同时警告:不系统中所有的图片不能重名,不然会导致,后加载的同名图片不可能被加载 Void SetLoadPicPath(char*); Handle LoadTextfromFile(“filename”)// 相对路径.注意,相对于本身内部保存的一个相对路径.,注意, Handle QueueTexture(“filename”)查询一个 RemoveText(handle); RemoveText(filename)// 不推荐!!! 关于Texture CreatePicFormFile(); 保存了filename 保存了filenDate 关于EventMgr PostEvent()// 往事件管理器中加入一个事件. Begin(); Next(); End();// 指向一个不存在的事件. 关于Event // 仅支持鼠标 posX,poxY. Type MouseMove,LbuttonDown,up, RightButtonDown,up