实现游戏中使用的界面库-分享想法
枫舞的季节 2010-09-29 04:27:04 如何实现游戏中的界面,大家可能都想自己试一试。
第一 消息的处理
MFC 中的消息处理是这样的。
1 创建线程的slot 。
2 创建窗口类,将之设置如线程槽(slot),将之和ThreadId 对应
3 设置 Hook ,当窗口被创建的时候,可以捕捉到。
4 捕捉到窗口创建的时候,取出线程slot 中的窗口类,将它和窗口句柄放到一个结构中,然后加入全局的map中。
5 在WM_CREATE 来到的时候,从全局map 中取出 窗口类,然后 根据不同的消息调用 窗口类中的消息映射。
根据 MFC 的消息处理 我们可以形成自己的一套库。
第二 窗口的控件。
所有控件都需要处理,鼠标移到对象上,鼠标按下,鼠标弹起这些事件。
第三 绘图
绘图都是用Direct Draw
画线算法,椭圆算法,填充算法,渐变算法,等等,大家都以用学过的图形学上的算法来练习一下。至于三维算法,可以借助Direct3D 或者自己通过图形学上贝塞尔曲线来绘制三维曲面什么的。通过光照模型来绘制光照效果。