06 2008 档案

     摘要: 先在现成游戏客户端上面加一个中华网的登录窗口
首先用验证这个是中华网的通行证
通过SOCKET连接到中华网游服务器,第一次验证是否是中华网的注册用户
如果不是提示注册,如果是那么提示输入游戏密码,如果是第一次的话,提示
设置游戏密码,以后就输入游戏密码进入游戏  阅读全文

posted @ 2008-06-27 18:05 RichardHe 阅读(95) | 评论 (0)  编辑 |

     摘要: 今天用MD5加密一个字符串时;在参数为char*时,我自己所传入的是BSTR类型,
我想强变弱应该是可以的,代码跟踪的时候所得到的数据也是自己所想要的数据;
但是经过MD5加密后得到的确不是所要的.我想想应该是上类型转换上出了问题;
结果上网查了一下.果然是这个问题;再在GOOGLE中查到解决方法;
//char*转换为BSTR
ConvertStringToBSTR
//BSTR转换为 char*
ConvertBSTRToString
  阅读全文

posted @ 2008-06-25 17:32 RichardHe 阅读(139) | 评论 (0)  编辑 |

     摘要: GetModuleFileName这个API在生成DLL时,第二个参数返回运行这个DLL时的绝对路径  阅读全文

posted @ 2008-06-23 18:00 RichardHe 阅读(123) | 评论 (0)  编辑 |

     摘要: 这两天写了一个IE插件,基于BHO的.大慨知道了写一个小插件的流程;
我的插件功能主要是从WEB上的一个键接,当点这个键接时,可以启动本地的EXE
开始走了许多弯路,还想获取一个WEB上的所有HREF.这样效率不但慢,并且还是没
有用的,因为你不知道点了那个键接;回想了一下原来ATL已经写好了事件处理.所以参考
程序中的例子写了一个当点键接的事件.既(OnLinkClickedOn),这个函数映射到事件
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2,OnLinkClickedOn)
方法OnLinkClickedOn(IDispatch *pDispatch, VARIANT *pvarURL)中,一开始没注意后面
这个参数的用处,原来是当你点击的时候传递的URL,这不正是我们所需要的吗?呵呵..

在使用ShellExecute时的参数时出错了.原来它的参数是要宽字符..所以在参数后面加了"L"
调试后可以点击指定的超键接  阅读全文

posted @ 2008-06-20 17:44 RichardHe 阅读(1209) | 评论 (0)  编辑 |

     摘要: 弄了一天.一直在查资料;就是通过在WEB中启动游戏的客户端
不能用脚本,像JavaScript,Vbscript等.
不知道taobao是怎么开发的,应该是通过插件来实现,但是IE插件的开发也是相当的复杂;
像在taobao中,可以在登录的同时启动"阿里旺旺";
现在急需要解决方案!
  阅读全文

posted @ 2008-06-18 17:49 RichardHe 阅读(172) | 评论 (3)  编辑 |

     摘要: 开始看书了.
同事买了<游戏编程精粹>3和5
打算看同事推荐的几个章节来仔细细读!  阅读全文

posted @ 2008-06-16 18:27 RichardHe 阅读(109) | 评论 (0)  编辑 |

     摘要: 学习FSM(有限状态机)
如RPG游戏中的一个门的状态.有打开,关闭,上锁和解锁四种状态
如果此时他已经找到了用来开门的钥匙的话,那么他就可以利用它将
门的状态变为解锁,进一步可以通过将门变成打开.之后再进入门里面
FSM的几个经常用的慨念:
状态(生命周期中的一种状况)。
事件(促使状态机从一种状态切换到另一种状态)。
转换(表示对象在这种状态中执行的动作)。
动作(这个操作一直被执行下去,不被别的消息中断)。
程序中结合SWITCH使用,这样程序可读行更高.  阅读全文

posted @ 2008-06-13 18:36 RichardHe 阅读(166) | 评论 (0)  编辑 |

     摘要: 用WIN API函数读INI文件时,以前也一直用.但今天发现其中的KEY值不能有"\"这个符号,
否则获得的只能是默认的值了.
今天的的API是GetPrivateProfileString
希望各位以后记住了哈
  阅读全文

posted @ 2008-06-12 19:14 RichardHe 阅读(93) | 评论 (0)  编辑 |

     摘要: 现在是什么都想干,也就是一时的冲动可能.在段时间后许多积极性会大打折扣.
要是能坚持下来就相当的好了!最近天天抱着CODE阅读着..实在是枯燥.但也是没办法的事情!
  阅读全文

posted @ 2008-06-11 18:45 RichardHe 阅读(131) | 评论 (1)  编辑 |

     摘要: boost any库(转)
1. 可容纳许多可能值类型的类型,比如int和string,并且可在它们之间自由
转换,例如:将5作为"5"或者反之。这样的类型在脚本语言和其他的解释型语言中
较常见。boost::lexical_cast支持这种转换功能。
2. 含有不同类型的值但并不试图在它们之间进行转换的可区分类型,即5严格
地作为一个int存放,不能隐式转换为"5"或者5.0。它们不关心解释,而关心有效
的类型安全性,是单一值的范型容器,不会产生有歧义的转换。
3. 不可区分的类型,可以引用任何实际的类型,由程序员来保证所有形式的
访问和解释。C++中的void*提供了这样的功能,同时它也会导致不确定的行为。  阅读全文

posted @ 2008-06-10 17:27 RichardHe 阅读(138) | 评论 (0)  编辑 |

     摘要: 学习使用BOOST中的signal;
boost::signal(返回类型(参数类型,参数类型));
定义一个signal对象,用connect(函数地址或仿函数)进行连接
如:boost::signal(返回类型(参数类型,参数类型)) sig
应用为:返回类型 sig(参数类型,参数类型.....);
由于开始BOOST的库的版本问题,以为把release的库改为debug的名字就
可以用.实践证明在BOOST中是不允许的.  阅读全文

posted @ 2008-06-06 11:59 RichardHe 阅读(146) | 评论 (0)  编辑 |

     摘要: 今天一直在学习使用BOOST中的FUNCTION和BIND;
boost::bind(&类::方法,对象指针,_1等);//如果有函数的话,后面数字就几个参数
bind返回的是一个函数指针对象.所以再赋值给一个函数对象
如:boost::function(返回类型(参数类型,参数类型)) funptr
赋值为:funptr = boost::bind(.....);
这次以后就可以不再用这个类的对象了,直接用函数对象调用
如funptr(参数......)
这样的优点我无法表达.网上有人说是简化了COMMAND这种设计模式
不用再去定义类成员函数形式的函数对象,只是普通函数对象
functor f3;//创建仿函数对象
泛型函数:
struct functor // 这是个仿函数类,形式为int(int)
{
int operator()(int)
{
}
}
functor f3;//创建仿函数对象  阅读全文

posted @ 2008-06-05 11:35 RichardHe 阅读(854) | 评论 (0)  编辑 |

     摘要: 今天付*朋友说到一个好用的关键字,说是好好用,就拿过来试了下;
结果没反应.
void fun()
{
//如果这个函数功能比较强大,你可以分段实现功能
#pragma region 功能1
........
#pragma endregion 功能1

#pragma region 功能2
........
#pragma endregion 功能2

#pragma region 功能3
........
#pragma endregion 功能3
}
原来在VS2003好像似乎不支持这个关键似的.所以就拿到VS2005下,结果可以把
中间的代码折叠.这样如果太长的话看起来比较方便,这样你的代码的可读行
就比较高了.

如果是用VS2005的朋友们可以来试下!  阅读全文

posted @ 2008-06-04 09:56 RichardHe 阅读(1162) | 评论 (6)  编辑 |

     摘要: 回调函数:
注册为稍后调用的函数(这个解释真不错!)  阅读全文

posted @ 2008-06-03 17:09 RichardHe 阅读(214) | 评论 (0)  编辑 |

     摘要: 游戏设计中的一点程序优化技巧,乘法的运算;如一个变量乘以一个常量,要是这个乘法大量重复运算的话
那么我们可以按位左移.要是除就是右移,这样可以节省不少CPU运算时间,在程序优化时十分有用,
一个例子:
a*9 <=> (a<<3)+a

昨日看书时了解了矩阵在3D运算中的用处,一句话慨括就是在向量进行变换(如平移,旋转,缩放等),用这个向量
做为行矩阵再乘以一个专门针对变换的矩阵,这样结果还是一个行矩阵,再转为向量
比如平移: [Px,Py,Pz,1]*[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[x,y,z,1]
结果就是一个经过x,y,z个单位平移后所需要的一个向量  阅读全文

posted @ 2008-06-02 10:38 RichardHe 阅读(229) | 评论 (0)  编辑 |

posts - 94, comments - 138, trackbacks - 0, articles - 94

Copyright © RichardHe