
游戏开发
文章平均质量分 65
old_imp
比较异想天开
展开
-
STL容器使用该注意的一个问题
<br /> 今天写代码用list存储了游戏对象的指针,并且每帧遍历这个list来调用游戏对象的Update和Render函数。<br /> <br /> 游戏对象有可能在自己的Update里面delete自己,在析构函数中它把自己的地址从list中删除,这个行为导致list中相应的节点数据被删除,而这个 时候用来遍历list的迭代器正指向这个节点,结果循环的++迭代器操作会产生内存访问错误。<br /> <br /> 我用的解决办法是另外用一个容器比如vector把要删除的指针存原创 2010-07-27 02:24:00 · 575 阅读 · 0 评论 -
bresenham算法绘制直线(未优化)
<br />参数为2点坐标,32位颜色值,指向绘图表面开头的内存指针,绘图表面的实际行字节大小<br /> <br /> <br /> <br />int Draw_Line_32( int iX0, int iY0, int iX1, int iY1, DWORD dwColor, DWORD * lpdwStart, int iPitch ) { int iDx, iDy, iXInc, iYInc, iError; iDx = iX1 - iX0; iDy = iY1 - iY0;原创 2010-06-03 15:49:00 · 623 阅读 · 0 评论 -
errorC2471:cannot update program database vc90.pdb
<br /><br />解决办法:<br />C/C++ | General | Debug Information format | C7 Compatible (/Z7)<br />C/C++ | Code Generation | Enable String Pooling | Yes (/GF)<br />Linker |Debuging |General Debug Info | Yes (/DEBUG)转载 2010-07-30 16:36:00 · 773 阅读 · 0 评论 -
Cohen-Sutherland算法线段裁剪
<br />参数为线段2断点坐标<br /> <br /> <br /> <br /> <br />//线段裁剪 int Clip_Line(int &iX1,int &iY1,int &iX2, int &iY2) { //点所在区域位标识 #define CLIP_CODE_C 0x0000 #define CLIP_CODE_N 0x0008 #define CLIP_CODE_S 0x0004 #define CLIP_CODE_E 0x0002 #define CLIP原创 2010-06-03 15:51:00 · 1508 阅读 · 0 评论 -
全45度角2.5D游戏如何计算该被显示出的tile地形图片
我采用的是类似于计算机几何图形填充光栅化算法来处理的。 游戏世界是个巨大的正方形,采用windows默认窗口坐标系表示它的左上角在( 0, 0 )处, 在全45度视角下通过往正方向( 逆时针 )旋转45度再把y坐标缩小二分之一,它看起来就应该是一个巨大的菱形。为了调试算法方便我用一个64*32(像素)的矩形表示tile图片,用这个矩形的内接菱形来表示实际被显示出来的tile菱形像素块,因为我建立的程序窗口式640*480,所以只假设游戏世界的大菱形是由10 * 10个tile组成的,也就是说整原创 2010-06-16 17:04:00 · 6914 阅读 · 0 评论 -
vs2005打包部署程序-详细制作过程
<br />http://www.leadtrade123.cn/2008/08/20/195.html转载 2010-08-12 16:21:00 · 512 阅读 · 0 评论