一个有趣的问题 代码如下: #include “stdafx.h”#include #include <float.h> int _tmain(int argc, _TCHAR* argv[]){_controlfp(_MCW_PC, _PC_24); volatile unsigned long dw = 0x80000052; unsigned long di = 0; std 2010-12-14 tech C++ C++
工作一年的总结 不知不觉参加工作一年多了,对自己一点总结吧。 开源 还记得来公司的第一天,分配给我的任务就是,花1周的时间看CEGUI的源代码,知道CEGUI的内部流程。这也是我第一次接触开源。说实话,当时看那些代码有点看天书的感觉,头皮发麻,看了一周也就大概弄清楚了个大概的GUI渲染流程,内部的东西还是一点没懂。慢慢的随着工作需要,会经常跟的CEGUI的内部去调试,加上熟悉了抽象的编程方式, 2010-09-03 tech 经验总结 总结 游戏设计
关于游戏的思考 其实最近有很长一段时间由于工作原因,没有碰过自己的代码了。(信息爆炸的厉害,工作上的东西学习就够呛了,再学就崩溃了……) 近期听了一些公司组织的培训讲座,大部分跟程序没有太大关系,都是跟游戏本身相关,产生了一些想法。 游戏是什么? 1) 从商业角度上看,游戏是建立在特殊产品上的一种服务。在早期单机游戏时代,游戏是一种消费品,玩家付费购买过来使用并获得娱乐效果。随着网游的出现,产品免费,使 2010-08-24 game 游戏思考 游戏设计
关于CEGUI渲染状态的恢复 CEGUI在渲染完了之后,会更改DX的渲染状态,但是并不会恢复过来,于是如果此时再用DX渲染的话,就会出现混乱了,网上看了很多,但是写的都不对,这里是经本人测试切实可用的代码,其中CEGUI 版本为0.7.1 // Revert RenderStatem_pDirect3DDevice->SetRenderState( D3DRS_LIGHTING, TR 2010-05-23 tech CEGUI CEGUI DX
程序运行完毕出现 Run-Time Check Failure 这几天一直被这个问题所困,代码如下 int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow){ YGEGame Game; YGEAppParam AppParam;AppParam.hInstance = hInst;AppParam.pApplication = 2010-05-17 tech C++ C++
CEGUI与DX(Direct3D)渲染的冲突问题 今天在工程里直接调用D3D的API画了一个旋转的三角体(可以理解为金字塔),但是一调用CEGUI的渲染之后,金字塔就无法渲染出来,只要不调用 CEGUI::System的renderGUI(),就可以渲染出来,所以觉得应该是跟CEGUI内部渲染有冲突。 查了下网上的资料,果然有反映说CEGUI更改了渲染状态,但没有改回来导致渲染失败。看了下CEGUI的源码,如下: 2010-05-08 tech CEGUI CEGUI DX
关于C++类型转换的问题 问题:今天做了一个改动,就是将CEGUI的D3D9Renderer从游戏的渲染模块挪到了Adapter模块,由Adapter统一管理所有的GUI事务,包括GUI 的渲染工作,但是问题出现了,Renderer在初始化成功之后,再被Sample调用的时候,突然变成了无效的指针(不为空,是地址被改动了,里头的所有成员均未初始化),导致程序宕掉。 解决:原因,在将基类指针转换为其派生类指针时用了强行转换导 2010-05-08 tech C++ C++
用CEGUI绘制环形进度条和雷达扫描(技能CD)效果 CEGUI还是一套蛮好用的GUI系统的,但是有一个缺陷就是它所有的控件都是用的矩形,如果想做出不规则的图形比较麻烦。最近想出一个用CEGUI实现圆形进度条的方案。就是采用遮罩手段。 2010-05-08 tech CEGUI CEGUI
如何写出好的代码 以下一些是我看书然后结合自己的一些编程经验得出的一些总结,有不妥还望及时予以指出 :) 1. 编码的目标是清晰而不是简洁 2. 在执行期获取的任何资源,必须彻底释放,不要完全指望你的”管家”,它们也不一定是可靠的 3. 需要用到通过其他函数返回的值时,务必在使用前对它们进行检查 4. 不要在多个地方重用一个临时变量,每次都创建一个新的变量,编译器会帮你解决效率问题。 2010-05-08 tech 经验总结 总结