10 2007 档案

摘要:作者: 小小C 呵呵,学习之余,做歌一首: 加加难 C++之难,难于上青天! 自学路上多险阻, 只身孤闯山林间. 又无大师指明路, 摔跤绊倒是平闲. 整型浮点分不清, 数据转换失心眼. 最怕指针空中悬, 莫名其妙内存泄. 又恐数组越了位, 运行期间报危险. 指针引用似兄弟, 使用不当却翻脸. cons... 阅读全文
posted @ 2007-10-31 10:21 至尊王者 阅读(500) 评论(0) 推荐(0) 编辑
摘要:Game Developer Magazine 1994 - 2000年,共7年的游戏开发者杂志电子版(含源码) Graphics Programming Black Book (by Michael Abrash),图形编程黑书,Id software的Michael Abrash编著 Game Programming Gems I.rar ,游戏编程精粹I、II(含源码) Game Progr... 阅读全文
posted @ 2007-10-31 10:17 至尊王者 阅读(8318) 评论(11) 推荐(2) 编辑
摘要:如何为我的游戏实现一个UI系统,这个问题我想了很久,不过我现在可不像开始的时候那样一点思路也没有。如果你也被这个问题所困扰,我十分乐意与你分享这几天来的学习成果。嘿嘿,我是不是有点得意忘形了? 在开始之前,我要提醒你,学而不思则惘。在看这篇文章的时候,请时刻保持头脑清醒,如果有什么不太明白的话,请停下一两分钟,好好想想,这篇文章可不是囫囵吞枣就能看懂的哦!此外这篇文章是建立在部分实例和猜测的基础... 阅读全文
posted @ 2007-10-30 21:10 至尊王者 阅读(2695) 评论(0) 推荐(0) 编辑
摘要:7.1 什么是用户界面库(UI LIB)? 程序员总是喜欢捷径,没有人希望做重新发明车轮的事。在开发程序的时候,我们总是想法设法的包含各式各样的库,通过那些事先写好的函数来完成我们的工作。例如,文件读写函数或者printf和scanf例程允许我们完成不同的任务而不需要学习硬件的细节。因此,使用库可以节省我们的开发时间并且使我们的软件兼容性更好。我们在第二部分开发的UI LIB同样会为界面开发人员提... 阅读全文
posted @ 2007-10-30 21:03 至尊王者 阅读(998) 评论(0) 推荐(0) 编辑
摘要:一个程序只运行一个实例(或限制实例数量)通常可以采用如下方法: 1)FindWindow 之 通过查找窗口标题来确定上一实例是否正在运行,不适合窗口标题动态变化的程序。 2)FindWindow 之 通过查找任务栏按纽标题来确定上一实例是否正在运行,不适合按纽标题动态变化的程序(如Winamp)。通常情况下,该方法还是优先考虑,因为按纽标题是一般是固定的。 3)Win... 阅读全文
posted @ 2007-10-30 11:01 至尊王者 阅读(324) 评论(0) 推荐(0) 编辑
摘要:字符编码的使用字符编码主要分两种:MBCS以及 Unicode。 以 C/CC++ 为例,以 char 为单位的数组使用MBCS编码(如 ASCII,GB2312,BIG5),以wchar_t 为单位的数组使用Unicode作为编码。 比如你的程序中使用:char szTitle[] = "窗体标题“;此时,szTitle字符串使用的的是MBCS编码,如果用户的操作系统不是中文的Windows,你... 阅读全文
posted @ 2007-10-30 10:59 至尊王者 阅读(601) 评论(0) 推荐(0) 编辑
摘要:团队,究竟是什么制度的?拓展训练据说是要问这个问题的。 在训练的一个游戏上,似乎感悟到了一点东西,不敢藏掖,遂贴于此。 10个人站在两根平行放置的木板上,两根木板很重,一个人抬不起来,每个木板上隔一段距离绑一根绳子,共绑有10根绳子。十个人站在这两根木板上,左右手各自抓握对应的一组绳子,然后向前迈进。 这个游戏的关键是: 1 当十个人同时迈左脚时,必须把重心全部放到右脚上而使左脚悬空,否则通过拉绳... 阅读全文
posted @ 2007-10-29 17:20 至尊王者 阅读(2297) 评论(0) 推荐(0) 编辑
摘要:这是我收藏的一篇文章,每每在遇到挫折的时候就拿出来读一读,总是能给我动力! 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做... 阅读全文
posted @ 2007-10-26 17:55 至尊王者 阅读(536) 评论(2) 推荐(0) 编辑
摘要:一、底层开发包和工具1. http://www.mesa3d.orgMesa 是一个类OpenGL( http://www.opengl.org )的开源实现。2. http://openil.sourceforge.netDevIL (即以前的OpenIL)是一个跨平台的图形处理包,支持BMP、JPG、GIF 等多种图形文件格式。二、2D 游戏开发包1. http://www.libsdl.... 阅读全文
posted @ 2007-10-26 17:54 至尊王者 阅读(1685) 评论(0) 推荐(0) 编辑
摘要:微软C/C++ 编译器选项 -优化- /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os 优选代码空间 favor code space /Oa 假设没有别名 assume no aliasing /Ot 优选代码速度 favor code sp... 阅读全文
posted @ 2007-10-26 17:53 至尊王者 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多。 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作。 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢。 ... 阅读全文
posted @ 2007-10-26 17:52 至尊王者 阅读(1132) 评论(2) 推荐(0) 编辑
摘要:《Advanced Animation with DirectX》 这本书主要讲的是怎样用DirectX9来完成游戏中的动画,主要是移动、骨骼动画等等,也涉及了不少的3d模型的知识。这本书起步比较的高,没有讲太多的DirectX9的基础,但是章节安排得十分合理,由简入难,是一本初学者和高手都比较适用的书。 《Focus On 3D Models》 说起游戏中的3d模型,这本书讲得十分透彻。也对各种... 阅读全文
posted @ 2007-10-26 17:51 至尊王者 阅读(890) 评论(1) 推荐(0) 编辑
摘要:首先去UltraEdit的官网下载支持Lua的Wordfiles文件(这里),是个文本文件(lua.txt)。打开UltraEdit安装目录下的wordfile.txt,把lua.txt文件中的内容拷贝粘贴到wordfile.txt的末尾,存盘,OK,于是UltraEdit语法高亮项多出Lua一项,可以选择使用了。其他语言的语法高亮支持与此类似。 阅读全文
posted @ 2007-10-26 10:10 至尊王者 阅读(2723) 评论(1) 推荐(0) 编辑
摘要:VC编程规范-程序员应该这样写代码 基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库函数和公共函数。 1.4 不要随意定义全局变量,尽量使用局部变量。 1.5 使用括号以避免二义性。 2.可读性要求 2.1 可读性第一,效率第二。 2.2 保持... 阅读全文
posted @ 2007-10-15 16:06 至尊王者 阅读(632) 评论(0) 推荐(0) 编辑
摘要:一个人真正睡着觉最多只有两个钟头,其余都是浪费时间,躺在枕头上做梦,没有哪个人不做梦。至于醒来觉得自己没有做梦,那是因为他忘记了。通常一个人睡两个钟头就够了,为什么有人要睡七、八个钟头?那是你赖床躺在枕头上休息的习惯养成的,并非我们需要那么久的睡眠时间,尤其打坐做功夫的人晓得,正午只要闭眼真正睡着三分钟,等于睡两个钟头,不过要对好正午的时间。夜晚则要在正子时睡着,五分钟等于六个钟头。就这个时间的学... 阅读全文
posted @ 2007-10-15 15:31 至尊王者 阅读(680) 评论(1) 推荐(0) 编辑
摘要:消息的接收 消息的接收主要有3个函数:GetMessage、PeekMessage、WaitMessage。 GetMessage原型如下:BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax); 该函数用来获取与hWnd参数所指定的窗口相关的且wMsgFilterMin和wMsg... 阅读全文
posted @ 2007-10-15 14:57 至尊王者 阅读(1288) 评论(0) 推荐(0) 编辑
摘要:什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对... 阅读全文
posted @ 2007-10-15 14:55 至尊王者 阅读(682) 评论(1) 推荐(0) 编辑
摘要:发现个小东东,在vista或2008里,可以把屏保显示到桌面上。 阅读全文
posted @ 2007-10-15 00:43 至尊王者 阅读(424) 评论(0) 推荐(0) 编辑
摘要:这两天办公室不时有人机器中毒,结果整个内部局域网经常被ARP Poison充斥,导致网络瞬断,于是不得不想办法来实现静态IP-Mac地址绑定。然而在我用的Windows Server 2008 beta3的机器上,却碰到了一个很奇怪的问题。 在本机键入如下命令,这个IP是我局域网网关的地址,MAC为其内网网卡的MAC: C:\Windows\system32>arp -s 10.0.0.254 ... 阅读全文
posted @ 2007-10-14 22:45 至尊王者 阅读(4114) 评论(0) 推荐(0) 编辑
摘要:环境光的使用比较简单,Direct3D把它作为一个渲染状态,通过调用IDirect3DDevice9::SetRenderState进行设置,对应的状态常数为D3DRS_AMBIENT。 按光源划分,直射光可分为三种: 1)点光源 点光源(Point Light)从一个点向周围均匀地发射光线。点光源有颜色、位置、作用范围,光强随距离而衰减,没有方向。 屏幕剪辑的捕获时间: 2007-6-27, ... 阅读全文
posted @ 2007-10-13 17:15 至尊王者 阅读(567) 评论(0) 推荐(0) 编辑
摘要:在Direct3D中,实体模型中的一个点可能被 多个三角形面所共用,如下图,虽然只有4个顶点,却由4个三角形面组成. 屏幕剪辑的捕获时间: 2007-6-27, 9:46 如果把顶点数据按对应图元的格式,直接放进顶点缓存区,该棱锥使用三角形列,4个锥面其需要4*3=12个顶点,也就是有8个顶点是重复的.如果实体比较复杂,重复的顶点会更多,造成资源浪费. 为些Direct3D引入了索引缓存的概念,... 阅读全文
posted @ 2007-10-13 17:14 至尊王者 阅读(1768) 评论(0) 推荐(0) 编辑
摘要:1)世界变换 我们在建立三维实体的数学模型时,通常以实体的某一点为坐标原点,比如一个球体,很自然就用球心做原点,这样构成的坐标系称为本地坐标系(Local Coordinates)。实体总是位于某个场景(World Space)中,而场景采用世界坐标系(World Coordinates),如图所示,因此需要把实体的本地坐标变换成世界坐标,这个变换被称为世界变换(World Transformat... 阅读全文
posted @ 2007-10-13 17:14 至尊王者 阅读(2870) 评论(0) 推荐(0) 编辑
摘要:在Direct3D中,三角形是构成实体的基本单位,因为一个三角形正好是一个平面,以三角形面为单位进行渲染效率最高。 一个三角形由三个点构成,习惯上把这些点称为顶点(Vertex)。三角形平面有正反面之分,由顶点的排序决定:顶点按顺时针排列的表面是正面,如图。 屏幕剪辑的捕获时间: 2007/6/22, 14:59 其中与三角形平面垂直、且指向正面的矢量称为该平面的法线(Normal)。 在Dir... 阅读全文
posted @ 2007-10-13 17:13 至尊王者 阅读(13205) 评论(1) 推荐(0) 编辑
摘要:按坐标轴之间的相互关系划分,三维坐标系可分为左手体系和右手体系,如下图所示。在左手体系中,坐标轴的定义符合法则:左手四个手指的旋转方向从X轴到Y轴,大拇指的指向就是Z轴。右手体系依次类推。Direct3D使用左手坐标系,其中X轴表示左右,Y轴表示上下,Z轴表示远近(深度)。 屏幕剪辑的捕获时间: 2007/6/22, 14:07 取定坐标系后,空间中的任意一点可以用一组坐标值(X,Y,Z)来表示... 阅读全文
posted @ 2007-10-13 17:11 至尊王者 阅读(999) 评论(0) 推荐(0) 编辑
摘要:Lua的语法非常灵活, 使用他的metatable及metamethod可以模拟出很多语言的特性. C#中我们这样使用事件: xxx.Click += new System.EventHandler(xxx_Click); private void xxx_Click(object sender, EventArgs e) { /**/ } 在Lua中要达到同样的效果, 并且支持事件多播机制, ... 阅读全文
posted @ 2007-10-11 15:15 至尊王者 阅读(706) 评论(0) 推荐(0) 编辑
摘要:写作目的:(此段可跳过) 同步Internet时间,即通过Internet的校时网站传来的数据校准本机时间。但是现在网络上查到的相关编程资料并不多,且其中多是VB和Delphi的代码,VC的代码我还没找到过。是这个东西太难了?应该不是;是太简单了?那也总该有人写吧。 我认为,自己懂和让别人懂压根不是一回事,我写这篇文章,目的当然是后者。当然,理工科出身的河蚌不大可能像文科出身的河蚌那样修... 阅读全文
posted @ 2007-10-11 14:47 至尊王者 阅读(3196) 评论(1) 推荐(0) 编辑
摘要:大家都知道,一个3D 场景中,我们见到的任何光辉灿烂的物体, 都是由一个一个面片组成的。而装载面片位置信息的就是其各个定点的三维坐标。这是用来在模型中存储的,而要把物体显示在屏幕上,还需要将它们转换成显示器上的二维坐标。这就需要对每个点实施一套 3 to 2 的转换公式,在Direct3D中叫做“几何流水线”(Geometry Pipeline)。 每渲染一桢,我们都要用到这条流水线把所有定点的... 阅读全文
posted @ 2007-10-11 08:37 至尊王者 阅读(918) 评论(0) 推荐(0) 编辑
摘要:(四)一些问题的讨论 前面几章的内容都是服务的一些通用的编写原理,但里面隐含着一些问题,编写简单的服务时看不出来,但遇到复杂的应用就会出现一些问题,所以本章就是用来分析、解决这些问题的,适用于高级应用的开发人员。我这一章的内容都是经过实验得到的,很有实际意义。 我在第一章里面就说过,是由一个服务的主线程执行CtrlHandler函数,它将收到各种控制命令,但是真正处理命令,执行操作的是Se... 阅读全文
posted @ 2007-10-11 08:31 至尊王者 阅读(371) 评论(0) 推荐(0) 编辑
摘要:(三)对服务的深入讨论之下 现在我们还剩下一个函数可以在细节上讨论,那就是服务的CtrlHandler函数。 当调用RegisterServiceCtrlHandler函数时,SCM得到并保存这个回调函数的地址。一个SCP调一个告诉SCM如何去控制服务的Win32函数,现在已经有10个预定义的控制请求: Control code Meaning SERVICE_CONTROL_STOPRe... 阅读全文
posted @ 2007-10-11 08:30 至尊王者 阅读(512) 评论(0) 推荐(0) 编辑
摘要:(二)对服务的深入讨论之上 上一章其实只是概括性的介绍,下面开始才是真正的细节所在。在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子: SERVICE_TABLE_ENTRY service_ta... 阅读全文
posted @ 2007-10-11 08:28 至尊王者 阅读(439) 评论(0) 推荐(0) 编辑
摘要:有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。 (一)服务的基础知识 Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完备且强大的服务,需... 阅读全文
posted @ 2007-10-09 17:39 至尊王者 阅读(528) 评论(0) 推荐(0) 编辑
摘要:单田芳先生是中国著名的评书演员,我非常喜欢听单田芒的评书,在那个没有电视机的时代,收听单田芳先生的评书对我来说就是一种最大的人生享受。所以,“单田芳”这三个字早就镌刻在我的脑海之中。一直到今天我还深深地敬仰着这位全国闻名的优秀演员。俗话说,金杯银杯,不如老百姓的口碑。单先生的评书艺术在全国人民中是有口皆碑! 易中天先生是我到《百家讲坛》之后才认识的。易先生是一位优秀的学者,他的学术著作曾... 阅读全文
posted @ 2007-10-09 09:20 至尊王者 阅读(422) 评论(0) 推荐(0) 编辑