﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-剑孤寒的小站-随笔分类-游戏编程</title><link>http://www.cppblog.com/jianguhan/category/8625.html</link><description>人生的价值不是用时间，而是用深度去衡量的！</description><language>zh-cn</language><lastBuildDate>Fri, 08 Aug 2014 19:11:31 GMT</lastBuildDate><pubDate>Fri, 08 Aug 2014 19:11:31 GMT</pubDate><ttl>60</ttl><item><title>xls2lua  写了个xls转换成lua表的工具，只有一个exe文件，绿色免费无公害^_^</title><link>http://www.cppblog.com/jianguhan/archive/2014/08/08/207946.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Fri, 08 Aug 2014 10:43:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2014/08/08/207946.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/207946.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2014/08/08/207946.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/207946.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/207946.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 写了个xls转换成lua表的工具，只有一个exe文件，绿色免费无公害^_^<br>用法：<br>xls2lua.exe xlsfile luafile [-n] [-i]<br>xlsfile:要转换的xls文件名<br>luafile:转换后的lua文件名<br>-n:可选参数，当xls文件有修改时才转换<br>-i:可选参数，xls表单第一列作为lua表的索引&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2014/08/08/207946.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/207946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2014-08-08 18:43 <a href="http://www.cppblog.com/jianguhan/archive/2014/08/08/207946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IncrediBuild v4.5 试用时间重置工具</title><link>http://www.cppblog.com/jianguhan/archive/2012/09/27/192167.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Thu, 27 Sep 2012 07:27:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2012/09/27/192167.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/192167.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2012/09/27/192167.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/192167.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/192167.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 到网上搜了一圈都没找到IncrediBuild4.5的试用重置工具，自己动手丰衣足食，参考网上的算时间的方法自己写了个，win7下测试通过，其他系统没试过，不保证成功<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2012/09/27/192167.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/192167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2012-09-27 15:27 <a href="http://www.cppblog.com/jianguhan/archive/2012/09/27/192167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新GUI&amp;GUI编辑器制作中(图+Demo)</title><link>http://www.cppblog.com/jianguhan/archive/2012/07/18/184042.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Wed, 18 Jul 2012 04:55:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2012/07/18/184042.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/184042.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2012/07/18/184042.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/184042.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/184042.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:    此次修改对整个GUI系统进行了重新设计，重写了大部分代码，同时，GUI编辑器也做了相应修改，因为GUI整个结构都发生了很大的变化，所以GUI编辑器的修改几乎相当于重写了。<br>    GUI系统主要的修改是增加了很多如tooltip、模态对话框等功能的支持，文字和贴图的显示，消息传递等功能做了整合，使之更容易扩展，以前做一个简单的界面都要继承N个控件，现在只需要将所有代码丢到主窗口即可，而且由于重新设计的GUI框架，使得一切操作都很简单自然，不用像以前一样要写N多复杂的代码才能实现一个简单的功能。不过由于时间关系，还有很多NB的功能没有加进来，不过现在的GUI框架要加新功能都很简单，例如动态换肤功能，只要发一个消息让所有控件把自己的RenderState换掉即可，还有像窗口裁剪功能，只需要在OnRender里设一下剪裁区域即可。<br>    GUI编辑器在原有编辑器基础上新增了皮肤编辑功能，并对控件创建等细节做了很多优化，使之更容易使用，另外还增加了一个重载资源功能，可以同时编辑GUI纹理和GUI界面，不用因为GUI纹理改了，而要重新打开整个工程。在GUI列表的设计上之前&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2012/07/18/184042.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/184042.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2012-07-18 12:55 <a href="http://www.cppblog.com/jianguhan/archive/2012/07/18/184042.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TexturePacker 1.1 发布</title><link>http://www.cppblog.com/jianguhan/archive/2011/10/29/159308.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sat, 29 Oct 2011 04:12:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2011/10/29/159308.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/159308.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2011/10/29/159308.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/159308.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/159308.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 更新：<br>1.添加纹理尺寸优化功能，自动去除无用的空白像素<br>2.其他一些小修改&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2011/10/29/159308.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/159308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2011-10-29 12:12 <a href="http://www.cppblog.com/jianguhan/archive/2011/10/29/159308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TexturePacker1.0 贴图自动整合工具发布</title><link>http://www.cppblog.com/jianguhan/archive/2011/10/20/158741.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Thu, 20 Oct 2011 04:13:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2011/10/20/158741.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/158741.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2011/10/20/158741.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/158741.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/158741.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ...&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2011/10/20/158741.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/158741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2011-10-20 12:13 <a href="http://www.cppblog.com/jianguhan/archive/2011/10/20/158741.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>研究了一下轨迹带的做法</title><link>http://www.cppblog.com/jianguhan/archive/2011/10/03/157428.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Mon, 03 Oct 2011 11:01:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2011/10/03/157428.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/157428.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2011/10/03/157428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/157428.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/157428.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 前两天玩到了一个游戏，觉得里面的飞船尾部的拖尾效果挺有意思，就研究了一下。其实原理很简单，把飞船运动的轨迹记录到一个队列里，然后根据这个队列生成一个三角形带就可以了，另外，像有些游戏里的刀光啥的用这个原理也可以做出来，设一下纹理坐标就好了。以下是研究成果......&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2011/10/03/157428.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/157428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2011-10-03 19:01 <a href="http://www.cppblog.com/jianguhan/archive/2011/10/03/157428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写了一个xls2xml转换工具</title><link>http://www.cppblog.com/jianguhan/archive/2011/09/02/154941.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Fri, 02 Sep 2011 06:08:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2011/09/02/154941.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/154941.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2011/09/02/154941.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/154941.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/154941.html</trackback:ping><description><![CDATA[<div>一直想找一个免费又好用的xls2xml转换工具，但是直至都没找到合适的，所以干脆自己写了一个，用法很简单，例如要将a.xls转换为a.xml，只需在控制台输入"xls2xml.exe a.xls a.xml"即可，如果要转换一个目录下的所有文件，写一个简单的批处理就能搞定。<br />xls2xml.exe最后可带一个参数"-n"，如果目录下有很多文件，但只想转换改动过的文件，可以带上该参数，能够节省大量转换时间。<br /><br />2011/9/8 Update:<br />1.修改中文不能识别的问题<br />2.不转换空行<br /><br /><a title="xls2xml" href="/Files/jianguhan/xls2xml.rar">xls2xml</a></div> <img src ="http://www.cppblog.com/jianguhan/aggbug/154941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2011-09-02 14:08 <a href="http://www.cppblog.com/jianguhan/archive/2011/09/02/154941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Irrlicht Normal Map &amp; Specular Map 搞定 ^_^</title><link>http://www.cppblog.com/jianguhan/archive/2011/07/01/149946.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Fri, 01 Jul 2011 15:35:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2011/07/01/149946.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/149946.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2011/07/01/149946.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/149946.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/149946.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ...&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2011/07/01/149946.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/149946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2011-07-01 23:35 <a href="http://www.cppblog.com/jianguhan/archive/2011/07/01/149946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Win7下ATI显卡更新驱动程序打不开Catalyst Control Center的解决办法</title><link>http://www.cppblog.com/jianguhan/archive/2010/09/07/126112.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Tue, 07 Sep 2010 13:11:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2010/09/07/126112.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/126112.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2010/09/07/126112.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/126112.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/126112.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ...&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2010/09/07/126112.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/126112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2010-09-07 21:11 <a href="http://www.cppblog.com/jianguhan/archive/2010/09/07/126112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跳跳球</title><link>http://www.cppblog.com/jianguhan/archive/2010/01/03/104718.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 03 Jan 2010 11:18:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2010/01/03/104718.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/104718.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2010/01/03/104718.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/104718.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/104718.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 游戏简介：<br><br>跳跳球是一款充满策略性的解谜游戏，起源于法国1世纪宫廷贵族间的独立钻石棋，以及匈牙利的魔方，和中国的华容道，被国外专家并称为智力游戏界的三大不可思议迷题，运用你的智慧和战术去解开全部的跳跳球谜题。你能移动最基本的橘色球，但规则是必须使用它跳过另外一个球，被跳过的球将会消失，直至剩下最后一个球，方可达到游戏的目标。 <br>&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2010/01/03/104718.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/104718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2010-01-03 19:18 <a href="http://www.cppblog.com/jianguhan/archive/2010/01/03/104718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>特训2006 </title><link>http://www.cppblog.com/jianguhan/archive/2010/01/03/104717.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 03 Jan 2010 11:13:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2010/01/03/104717.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/104717.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2010/01/03/104717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/104717.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/104717.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 游戏说明: <br>游戏中你要控制一架飞船在来自四面八方的敌机的攻击下 <br>尽力存活下来。由于敌机出现的速度会越来越快，你必须要 <br>尽快将已出现的敌机消灭掉，不然被它们围攻下场只有死路 <br>一条，试试看谁可以撑过100秒吧:)&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2010/01/03/104717.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/104717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2010-01-03 19:13 <a href="http://www.cppblog.com/jianguhan/archive/2010/01/03/104717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>西部豆丁</title><link>http://www.cppblog.com/jianguhan/archive/2010/01/03/104716.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 03 Jan 2010 11:05:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2010/01/03/104716.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/104716.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2010/01/03/104716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/104716.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/104716.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 游戏说明：<br>方向键控制主角移动......&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2010/01/03/104716.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/104716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2010-01-03 19:05 <a href="http://www.cppblog.com/jianguhan/archive/2010/01/03/104716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《永恒环境》N年前未完成的游戏...</title><link>http://www.cppblog.com/jianguhan/archive/2010/01/03/104715.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 03 Jan 2010 10:27:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2010/01/03/104715.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/104715.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2010/01/03/104715.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/104715.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/104715.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 《永恒环境》N年前未完成的游戏...&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2010/01/03/104715.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/104715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2010-01-03 18:27 <a href="http://www.cppblog.com/jianguhan/archive/2010/01/03/104715.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发一个自制RPG游戏《云城之梦》的Demo</title><link>http://www.cppblog.com/jianguhan/archive/2009/09/28/97501.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Mon, 28 Sep 2009 15:16:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2009/09/28/97501.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/97501.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2009/09/28/97501.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/97501.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/97501.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 目前完成度为60%左右，<br>由于业余时间太少，<br>中间又重构了一次，<br>断断续续花了两年多才弄出一个稍微像样点的东西，<br>发一个Demo算是对之前做的东西的一个总结，<br>欢迎大家拍砖^_^<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2009/09/28/97501.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/97501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2009-09-28 23:16 <a href="http://www.cppblog.com/jianguhan/archive/2009/09/28/97501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Galaxy2D引擎载入英雄传说6场景测试^_^</title><link>http://www.cppblog.com/jianguhan/archive/2009/09/28/97446.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Mon, 28 Sep 2009 04:00:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2009/09/28/97446.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/97446.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2009/09/28/97446.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/97446.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/97446.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ...&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2009/09/28/97446.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/97446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2009-09-28 12:00 <a href="http://www.cppblog.com/jianguhan/archive/2009/09/28/97446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>英雄传说6模型文件分析1</title><link>http://www.cppblog.com/jianguhan/archive/2009/05/30/ed6.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sat, 30 May 2009 09:14:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2009/05/30/ed6.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/86186.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2009/05/30/ed6.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/86186.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/86186.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ...猜测应该是下面这样的结构：<br><br>struct VertexFVF<br> {<br>  float x, y, z;         //坐标<br>  float nx, ny, nz;      //法向量<br>  DWORD color;           //顶点颜色<br>  DWORD specular;        //反射光颜色<br>  float u, v;            //纹理坐标<br> };数了一下，这里一共有四个顶点，应该是矩形的四个角，肯定什么地方有顶点索引的记录，往前翻&nbsp;&nbsp;<a href='http://www.cppblog.com/jianguhan/archive/2009/05/30/ed6.html'>阅读全文</a><img src ="http://www.cppblog.com/jianguhan/aggbug/86186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2009-05-30 17:14 <a href="http://www.cppblog.com/jianguhan/archive/2009/05/30/ed6.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏中的资源管理――资源高速缓存</title><link>http://www.cppblog.com/jianguhan/archive/2008/10/26/65067.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 26 Oct 2008 03:14:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2008/10/26/65067.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/65067.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2008/10/26/65067.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/65067.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/65067.html</trackback:ping><description><![CDATA[<p>《游戏中的资源管理――资源高速缓存》<br>转载请注明出处：<a href="http://groups.google.com/group/jianguhan" target=_blank rel=nofollow><u><font color=#800080>http://groups.google.com/group/jianguhan</font></u></a> <br><br><br>1.什么是资源高速缓存 <br>&nbsp;&nbsp;&nbsp; 资源高速缓存的原理与其它内存高速缓存的工作原理是相似的。在游戏的状态转换过程中，有些数据是刚才使用过的，那么直接从资源高速缓存中载入即可。例如，RPG&shy;游戏中主角从大地图进入一个房间，探索一番后主角退出房间，此时只要直接从缓存中载入大地图数据即可，节省了从硬盘载入数据的时间，要知道从硬盘载入数据是非常&shy;慢的。当然，如果你的游戏所使用的数据文件很少，那么你可以在游戏运行过程中把这些数据完全储存在内存中，而不使用资源高速缓存。 </p>
<p><br>2.一个简单的资源高速缓存管理器 <br>&nbsp;&nbsp;&nbsp; 下面我将向你展示一个比较简单的资源高速缓存管理器，源代码来自我上一个游戏，如果你需要知道更多关于资源高速缓存方面的知识，请参考&lt;&lt;Game Coding Complete&gt;&gt;的第八章。 <br>首先，需要一个机制来唯一标识一个资源，我们用下面这个结构来做资源句柄： <br>struct ResHandle <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; ResHandle(std::string &amp;resName, void *buffer, int size) <br>&nbsp;&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_resName = resName; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_size&nbsp;&nbsp; = size; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_buffer = buffer; <br>&nbsp;&nbsp;&nbsp;&nbsp; } </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp; ~ResHandle() <br>&nbsp;&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m_buffer != 0) delete[] m_buffer; <br>&nbsp;&nbsp;&nbsp;&nbsp; } </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp; std::string&nbsp;&nbsp; m_resName;&nbsp;&nbsp;&nbsp; //资源名 <br>&nbsp;&nbsp;&nbsp;&nbsp; void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *m_buffer;&nbsp;&nbsp;&nbsp; //资源句柄所标识的资源 <br>&nbsp;&nbsp;&nbsp;&nbsp; DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_size;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //资源所占内存大小 </p>
<p><br>}; </p>
<p><br>好了，现在我们可以从资源名来找出这个资源了，接下来实现这个资源高速缓存管理器： <br>class CacheManager <br>{ <br>public: <br>&nbsp;&nbsp;&nbsp;&nbsp; CacheManager(); <br>&nbsp;&nbsp;&nbsp;&nbsp; ~CacheManager(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; //载入资源，resName为资源名，若载入成功size被设为该资源的大小 <br>&nbsp;&nbsp;&nbsp; //注意，管理中的资源不能在管理器外用delete显示的删除它 <br>&nbsp;&nbsp;&nbsp; void*&nbsp;&nbsp;&nbsp; Load(std::string resName, DWORD *size = 0); <br>&nbsp;&nbsp;&nbsp; //设置缓存大小，单位MB <br>&nbsp;&nbsp;&nbsp;&nbsp; void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCacheSize(int sizeMB)&nbsp;&nbsp;&nbsp; { m_cacheSize = sizeMB * 1024 * 1024; } <br>&nbsp;&nbsp;&nbsp;&nbsp; //得到缓存大小，单位MB <br>&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetCacheSize()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return m_cacheSize / 1024 /1024; } </p>
<p><br>private: <br>&nbsp;&nbsp;&nbsp;&nbsp; void&nbsp;&nbsp;&nbsp;&nbsp; Free();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //释放lru链表中最后一个资源 <br>&nbsp;&nbsp;&nbsp;&nbsp; void&nbsp;&nbsp;&nbsp;&nbsp; *Update(ResHandle *res);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //更新lru链表 <br>&nbsp;&nbsp;&nbsp;&nbsp; ResHandle *Find(std::string &amp;resName);&nbsp;&nbsp;&nbsp;&nbsp; //找出该资源名的资源句柄 </p>
<p><br>private: <br>&nbsp;&nbsp;&nbsp;&nbsp; DWORD m_cacheSize;&nbsp;&nbsp;&nbsp;&nbsp; //缓存大小 <br>&nbsp;&nbsp;&nbsp;&nbsp; DWORD m_allocated;&nbsp;&nbsp;&nbsp;&nbsp; //已使用的缓存大小 </p>
<p><br>//lru链表，记录最近被使用过的资源 <br>&nbsp;&nbsp;&nbsp;&nbsp; std::list&lt;ResHandle*&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_lru;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; //资源标识映射 <br>&nbsp;&nbsp;&nbsp;&nbsp; std::map&lt;std::string, ResHandle*&gt;&nbsp;&nbsp;&nbsp; m_resources; </p>
<p>&nbsp;</p>
<p>}; </p>
<p><br>CacheManager:: CacheManager () <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; m_cacheSize = 0; <br>&nbsp;&nbsp;&nbsp;&nbsp; m_allocated = 0; </p>
<p><br>} </p>
<p><br>CacheManager::~ CacheManager () <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (!m_lru.empty()) Free();&nbsp;&nbsp; //释放所有管理中的资源 </p>
<p><br>} </p>
<p><br>void * CacheManager::Load(std::string resName, DWORD *size) <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; ResHandle *handle = Find(resName);&nbsp;&nbsp; //查找该资源是否在缓存中 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; if (handle != 0) //如果找到该资源句柄，则返回该资源并更新lru链表 <br>&nbsp;&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size != 0) *size = handle-&gt;m_size; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Update(handle); <br>&nbsp;&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp;&nbsp; else <br>&nbsp;&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //先检测资源大小 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD _size = 资源大小; </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //是否有足够空间? <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (_size &gt; (m_cacheSize - m_allocated)) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m_lru.empty()) break; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Free(); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_allocated += _size; </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer = new char[_size]; <br>//在这里用任何你能想到的办法载入资源文件到buffer <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230; </p>
<p><br>//记录当前资源 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResHandle *handle = new ResHandle(resName, buffer, _size); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_lru.push_front(handle); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_resources[resName] = handle; </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size != 0) *size = _size; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return buffer; <br>&nbsp;&nbsp;&nbsp;&nbsp; } </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp; return 0; </p>
<p>&nbsp;</p>
<p>} </p>
<p><br>void CacheManager::Free() <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; std::list&lt;ResHandle*&gt;::iterator gonner = m_lru.end(); <br>&nbsp;&nbsp;&nbsp;&nbsp; gonner--; <br>&nbsp;&nbsp;&nbsp;&nbsp; ResHandle *handle = *gonner; <br>&nbsp;&nbsp;&nbsp;&nbsp; m_lru.pop_back(); <br>&nbsp;&nbsp;&nbsp;&nbsp; m_resources.erase(handle-&gt;m_resName); <br>&nbsp;&nbsp;&nbsp;&nbsp; m_allocated -= handle-&gt;m_size; <br>&nbsp;&nbsp;&nbsp;&nbsp; delete handle; </p>
<p><br>} </p>
<p><br>void * CacheManager::Update(ResHandle *res) <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; m_lru.remove(res); <br>&nbsp;&nbsp;&nbsp;&nbsp; m_lru.push_front(res); <br>&nbsp;&nbsp;&nbsp;&nbsp; m_size = res-&gt;m_size; <br>&nbsp;&nbsp;&nbsp;&nbsp; return res-&gt;m_buffer; </p>
<p><br>} <br><br>ResHandle * CacheManager::Find(std::string &amp;resName) <br>{ <br>&nbsp;&nbsp;&nbsp;&nbsp; std::map&lt;std::string, ResHandle*&gt;::iterator it = m_resources.find(resName); <br>&nbsp;&nbsp;&nbsp;&nbsp; if (it == m_resources.end()) return 0; <br>&nbsp;&nbsp;&nbsp;&nbsp; return (*it).second; </p>
<p><br>} <br><br>至此，你已经可以在游戏中缓存任何你想缓存的资源了^_^ </p>
<p>3. 资源管理进阶 <br>&nbsp;&nbsp;&nbsp; 至此你已经可以在游戏中缓存任何你想缓存的资源了，但是你的任务还没完成，当你请求的资源存在于缓存之外时，那个闪耀的硬盘灯可能就是玩家最感兴趣的东西了。 <br>因此你必须根据不同的游戏类型使用不同的载入方式：&nbsp;<br>&nbsp;&nbsp;&nbsp; 一次载入所有东西：适用于任何以界面或关卡切换的游戏&nbsp;<br>&nbsp;&nbsp;&nbsp; 只在关键点载入资源：很多射击游戏都使用这样的设计，如&#8220;半条命&#8221;&nbsp;<br>&nbsp;&nbsp;&nbsp; 持续载入：适用于开放型地图的游戏，如&#8220;侠盗猎车手&#8221; <br>&nbsp;&nbsp;&nbsp; 如果有可能的话，你还可以使用缓存预测机制，当CPU有额外时间的时候可以把未来可能用到的资源载入到资源高速缓存。 <br>&nbsp;&nbsp;&nbsp; 最后，尽管在游戏的资源管理中资源打包不是必须的，但仍然建议大家把资源文件按类型分别打包到单一的文件中，这将为你节省磁盘空间，并加快游戏的载入速度。 </p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/jianguhan/aggbug/65067.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2008-10-26 11:14 <a href="http://www.cppblog.com/jianguhan/archive/2008/10/26/65067.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏中场景切换特效的制作</title><link>http://www.cppblog.com/jianguhan/archive/2008/10/26/65064.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sun, 26 Oct 2008 03:03:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2008/10/26/65064.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/65064.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2008/10/26/65064.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/65064.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/65064.html</trackback:ping><description><![CDATA[前几天在做游戏时碰到要做一个以渐变方式切换场景的特效，记得以前在RMXP中要看到过类似的特效，于是赶快把它翻出来看了看，发现效果还不错。
<p>&nbsp;&nbsp;&nbsp; 它的场景特效切换方法是：首先需要一个遮罩图，这个图的作用是根据时间和这个图上灰度的值来设置切换图的alpha值，具体的做法可以下载我写的演示程序和源代码，里面分别有最原始的操作像素实现这个特效的方法和使用shader来做这个特效的方法，这两种方法的速度差别还是很大的，我更倾向于使用shader来做，另外，虽然这个演示程序是2D的，但是方法也可以原封不动的搬到3D中去^_^&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://groups.google.com/group/jianguhan/web/%E5%85%B6%E5%AE%83%E4%B8%9C%E4%B8%9C%E4%B8%93%E7%94%A8%E5%B8%96" rel=nofollow><u><font color=#0000ff>下载</font></u></a></p>
<p>&nbsp;&nbsp;&nbsp; <br><br>最后放上截图一张^_^</p>
<p style="CLEAR: both; BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; TEXT-ALIGN: center"><a style="BORDER-TOP-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; MARGIN-BOTTOM: 1em; MARGIN-RIGHT: 1em; BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px" href="http://groups.google.com/group/jianguhan/web/%E5%9C%BA%E6%99%AF%E5%88%87%E6%8D%A2%E7%89%B9%E6%95%88.jpg" rel=nofollow><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/%E5%9C%BA%E6%99%AF%E5%88%87%E6%8D%A2%E7%89%B9%E6%95%88.jpg?display=thumb&amp;width=420&amp;height=420"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<p><font size=4><strong></strong></font>&nbsp;</p>
<img src ="http://www.cppblog.com/jianguhan/aggbug/65064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2008-10-26 11:03 <a href="http://www.cppblog.com/jianguhan/archive/2008/10/26/65064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RPG开发日志</title><link>http://www.cppblog.com/jianguhan/archive/2008/10/25/65038.html</link><dc:creator>剑孤寒</dc:creator><author>剑孤寒</author><pubDate>Sat, 25 Oct 2008 14:17:00 GMT</pubDate><guid>http://www.cppblog.com/jianguhan/archive/2008/10/25/65038.html</guid><wfw:comment>http://www.cppblog.com/jianguhan/comments/65038.html</wfw:comment><comments>http://www.cppblog.com/jianguhan/archive/2008/10/25/65038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jianguhan/comments/commentRss/65038.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jianguhan/services/trackbacks/65038.html</trackback:ping><description><![CDATA[<p><font color=#000099 size=4><strong>RPG游戏开发日志&nbsp;&nbsp;&nbsp; <a href="http://groups.google.com/group/jianguhan/web/WispyDreamDemo1.rar" rel=nofollow>下载Demo</a></strong></font><br>&nbsp;<br><font color=#009900 size=4><strong>2008年6月28日</strong></font></p>
<p>&nbsp;<font color=#000066>&nbsp;&nbsp;</font><font color=#000099> 最近工作仍然很忙，所以游戏制作进度还是很慢，现在已完成了系统菜单，战斗系统也完成了一半了，等忙过这段时间，把战斗系统写完应该就可以更新一下Demo了。</font><br><font color=#000099>系统菜单：</font></p>
<font color=#000099></font>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/snapshot0.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/snapshot0.png"></a></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#000099><br><br></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#000099 size=2>战斗系统：</font></p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/snapshot1.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/snapshot1.png"></a><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/snapshot2%20%282%29.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/snapshot2%20%282%29.png"></a></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/snapshot4.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/snapshot4.png"></a><font color=#009900 size=4><strong></strong></font></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/snapshot3%20%282%29.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/snapshot3%20%282%29.png"></a><font color=#009900 size=4><strong></strong></font></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong></strong></font>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#009900 size=4><strong>2008年3月15日</strong></font></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 由于工作比较忙，从开始制作这个游戏到现在差不多半年了才完成游戏的一些基本系统，做这个游戏占了我大部分业余时间，虽然很累，但是跟做游戏的乐趣相比也算不了什么了。</font></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 这个游戏决定采用《天之痕》的素材来做，一来是因为它的素材即使在今天看来仍可算得上精美，另外一个原因是当年玩这个游戏时被深深的感动了一把，所以对这个游戏留下了深刻的印象。</font></p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 好了，闲话不多说，先上一张图吧。</font></p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot1.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot1.png"></a></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 《云城之梦》的地图仍然使用格子来判断行走和触发剧情，脚本方面使用了现在在游戏制作行业开始流行的Lua语言，上图中的对话系统就是用Lua写的。下面为</font><font color=#000099 size=2>地图编辑器：</font></p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot8.jpg" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot8.jpg"></a></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp;</font></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p>&nbsp;</p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 由于这个游戏使用的是我自己写的Galaxy2D游戏引擎，而这个引擎又是基于D3D的，在比如显示游戏大地图的时候可能会因为纹理过大而显卡不支持出现问题，为了解决这个问题，我专门针对大尺寸纹理写了一个ggeImage类，在内部把大纹理拆成一些小纹理，并实现自动管理和拼接，这样多大的地图也不怕了。</font></p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 接下来看看明暗效果和粒子效果吧，在《天之痕》里走到阴影下人物会变暗，走到窗户旁会被照亮，这个在当时的游戏中是很少见的，加了明暗效果以后，人物跟场景结合在一起的感觉就更明显了，而粒子特效可以试场景显得更加真是生动。</font></p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot4.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot4.png"></a></p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; </font></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot3.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot3.png"></a><font color=#000099 size=2></font></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot6.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot6.png"></a></p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p><font color=#000099 size=2></font>&nbsp;</p>
<p>&nbsp;</p>
<p><font color=#000099 size=2>&nbsp;&nbsp;&nbsp; 然后是游戏中的关键字显示，这个作为给玩家的提示还是很必要的，由于这个功能比较有用，所以我把这个功能做到了Galaxy2D引擎里，这样在显示关键字的时候直接在关键字前面加上一个标记就好了。</font></p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot7.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot7.png"></a></p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: left; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;&nbsp;&nbsp; 最后是对话系统，算是RPG游戏中相对来说比较重要的系统了吧。</p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none"><a style="BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN-BOTTOM: 1em; FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CLEAR: left; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 1em" href="http://groups.google.com/group/jianguhan/web/wdsnapshot5.png" rel=nofollow><img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" src="http://groups.google.com/group/jianguhan/web/wdsnapshot5.png"></a>&nbsp;</p>
<p style="BORDER-BOTTOM: medium none; TEXT-ALIGN: left; BORDER-LEFT: medium none; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium none">&nbsp;</p>
<img src ="http://www.cppblog.com/jianguhan/aggbug/65038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jianguhan/" target="_blank">剑孤寒</a> 2008-10-25 22:17 <a href="http://www.cppblog.com/jianguhan/archive/2008/10/25/65038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>