自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

转载 2D游戏中的技能特效

    在我们的2D图形游戏中不可缺少大量的光影、技能特效,像Diablo II中的魔法效果的实现,幸好我们拥有强大的CPU来为我们实现Alpha混合与色彩饱和混合,接下来让我们来讨论一下如何用这些方法来实现我们游戏中所需要的技能特效。一、Alpha混合特效    Alpha混合可以让我们让我们将一张图象按一定程度的比例与另一张图象进行混合(如图1),但普通的Alpha混合并不适合游戏中的技能特效

2005-02-26 01:45:00 2012

原创 按钮类基本完成。

嗯……这个按钮类还算是OK了。再有今天下午停电,重新拿回了那本介绍VESA VBE的看了看ASM那些。。觉得学ASM真的非常非常重要啊~~特别是优化程序的速度。要是我学会了ASM,那就能自己写RLEBlt,加速Addtive,alpha,grayblt……如果用C++代码写的话,我想速度真的无法想象了。下一步,CScrollCtrl, CListCtrl, CInputCtrl。 Input的难点

2005-02-26 01:41:00 1587

转载 几种常用的像素混合方法

  前两天为大家介绍了处理透明光影效果的 Alpha-Blending 技术,今次我将再为大家介绍其它几种常用的像素混合方法,这些方法一般在游戏中被用来处理光影效果。『Alpha-Blending』  前次已经说了,所谓 Alpha-Blending,其实就是按照“Alpha”混合向量的值来混合源像素和目标像素,一般用来处理半透明效果。『Additive-Blending』  至于 Additiv

2005-02-25 18:25:00 1740

转载 将RGB值转换为灰度值的简单算法

  使场景或精灵以灰度的形式显示,这是一般游戏制作中常常用到的效果,如:战棋游戏中当一个角色被使用过后,通常就会变成灰色,代表本回合已不能行动了;《仙剑》中回忆彩蝶的部分是用整屏的灰色来表现的?(记的不太清楚,太久了^_^);还有很多很多例子……  将RGB值转换为灰度的过程应该是在程序中实现的(至少我是这么认为的)。其实这是非常简单的,基本原理就是将一个点的RGB值分开来求和,然后除以3,把得到

2005-02-25 17:17:00 2419

原创 一次读取大Size Jpeg图的测试

由于TSOnline采用的是一个Jpeg图作为一个场景的设计,所以当场景比较大的时候,Jpeg图也会相应的比较大。因此做个测试看看读取Jpeg图的大小时间怎么样。壶关沙漠地图场景图片大小:2496 x 1920文件大小:868KB读取时间:3266 ms火盘古地图场景图片大小:1664 x 1280文件大小:367KB读取时间:1569 ms公共军团建设场景图片大小:1600 x 1600文件大小

2005-02-24 23:23:00 1568

转载 手把手教你玩转SOCKET模型之重叠I/O篇(下)

四。     实现重叠模型的步骤作了这么多的准备工作,费了这么多的笔墨,我们终于可以开始着手编码了。其实慢慢的你就会明白,要想透析重叠结构的内部原理也许是要费点功夫,但是只是学会如何来使用它,却是真的不难,唯一需要理清思路的地方就是和大量的客户端交互的情况下,我们得到事件通知以后,如何得知是哪一个重叠操作完成了,继而知道究竟该对哪一个套接字进行处理,应该去哪个缓冲区中的取得数据,everyth

2005-02-24 15:18:00 1513

转载 手把手教你玩转SOCKET模型之重叠I/O篇(上)

手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”                                                                

2005-02-24 15:16:00 1308

转载 手把手教你玩转ARP包(完)【数据包的游戏系列之一】

作者:   CSDN  VC/MFC 网络编程 PiggyXP  ^_^ 本篇目录:     四。ARP包的游戏      1 .   小伎俩      2.    ARP欺骗的实现      3.   基于ARP欺骗的监听原理  四.ARP包的游戏既然我们可以自己来填充数据包,那么来玩些ARP的“小游戏”欺骗就是易如反掌了,当然,是在没有安

2005-02-24 15:11:00 1390

转载 手把手教你玩转ARP包(三)【数据包的游戏系列之一】

作者:CSDN  VC/MFC 网络编程 PiggyXP  ^_^   目录: 二。发送数据包的编程实现   1.  填充数据包   2.  发送数据包三。一些附加步骤及说明   1.  如果在VC中使用winpcap   2.  获得网卡信息列表   3.  获得系统ARP信息列表          ................紧接上文..

2005-02-24 15:09:00 1350

转载 手把手教你玩转ARP包(二)【数据包的游戏系列之一】

  作者:   CSDN  VC/MFC 网络编程 PiggyXP  ^_^   目录:     一.    关于ARP协议的基础知识     3. ARP包的填充二。发送数据包的编程实现   1.填充数据包 .........................紧接上文............................ 3.ARP包的填充1) 请

2005-02-24 15:08:00 1276

转载 手把手教你玩转ARP包(一)【数据包的游戏系列之一】

前   言          首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带

2005-02-24 15:07:00 1405

转载 点阵图和Bitblt

点阵图是一个二维的位元阵列,它与图像的图素一一对应。当现实世界的图像被扫描成点阵图以後,图像被分割成网格,并以图素作为取样单位。在点阵图中的每个图素值指明了一个单位网格内图像的平均颜色。单色点阵图每个图素只需要一位元,灰色或彩色点阵图中每个图素需要多个位元。点阵图代表了Windows程式内储存图像资讯的两种方法之一。储存图像资讯的另一种形式是metafile,我将在第十八章讨论。Metafile储

2005-02-23 23:13:00 7767

转载 与装置无关的点阵图

在上一章我们了解到Windows GDI点阵图物件(也称为与装置相关的点阵图,或DDB)有许多程式设计用途。但是我并没有展示把这些点阵图储存到磁片档案或把它们载入记忆体的方法。这是以前在Windows中使用的方法,现在根本不用了。因为点阵图的位元格式相当依赖於设备,所以DDB不适用於图像交换。DDB内没有色彩对照表来指定点阵图的位与色彩之间的联系。DDB只有在Windows开机到关机的生命期内被建

2005-02-23 23:11:00 3333

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (五)

 转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之五 服务器的性能指标与实现高性能的途径服务器的性能指标    作为一个网络服务器程序,性能永远是第一位的指标。性能可以这样定义:在给定的硬件条件和时间里,能够处理的任务量。能够最大限度地利用硬件性能的服务器设计才是良

2005-02-23 21:24:00 1394

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (四)

转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之四 线程池线程池下面摘抄于MSDN《Thread Pooling》。有许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生。还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。线程池可以让你

2005-02-23 21:23:00 1311

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (三)

转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之三 IO完成端口IO完成端口下面摘抄于MSDN《I/O Completion Ports》,smallfool翻译,原文请参考CSDN文档中心文章《I/O Completion Ports》, http://dev.csd

2005-02-23 21:22:00 1357

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (二)

转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之二 APC    Alertable IO(告警IO)提供了更有效的异步通知形式。ReadFileEx / WriteFileEx在发出IO请求的同时,提供一个回调函数(APC过程),当IO请求完成后,一旦线程进入可告警状

2005-02-23 21:19:00 1257

转载 异步IO、APC、IO完成端口、线程池与高性能服务器 (一)

转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 正文异步IO、APC、IO完成端口、线程池与高性能服务器之一 异步IO背景:轮询 PIO DMA 中断    早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 

2005-02-23 21:18:00 1244

原创 色深的一次测试。

由于我的机器不支持32Bit色深,因此特邀wwcbug同学帮忙做个测试。结果如下:窗口颜色   显示模式   表现-------------------------------------------------------------------------16Bit色深  窗口模式    鼠标设置关键色成功,Jpeg图贴图失败(无详细出错消息)24Bit色深  全屏模式    Crash (

2005-02-23 20:26:00 2582 2

转载 调色盘管理器

如果硬体允许,本章就没有存在的必要。尽管许多现代的显示卡提供24位元颜色(也称「true color」或「数百万色」)或16位元颜色(「增强色」或「数万种颜色」),一些显示卡-尤其是在携带型电脑上或高解析度模式中-每个图素只允许8位元。这意味著仅有256种颜色。我们用256种颜色能做什么呢?很明显,要显示真实世界的图像,仅16种颜色是不够的,至少要使用数千或数百万种颜色,256种颜色位於中间状态。

2005-02-23 19:43:00 3458 1

转载 文字和字体

显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和字体大小的使用方法以及调整文字的方式。Windows 3.1发表的TrueType使程式写作者和使用者以灵活的方式处理文字的能力大幅增强。TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字体制造商支援。由於TrueType字体能够连续缩放,并能应

2005-02-23 19:41:00 5321

转载 DrawText API.

2.2 在窗口中输出文字在这里我假定读者已经利用ApplicationWizard生成了一个SDI界面的程序代码。接下来的你只需要在CView派生类的OnDraw成员函数中加入绘图代码就可以了。在这里我需要解释一下OnDraw函数的作用,OnDraw函数会在窗口需要重绘时自动被调用,传入的参数CDC* pDC对应的就是DC环境。使用OnDraw的优点就在于在你使用打印功能的时候

2005-02-23 18:43:00 2732

转载 Loading JPEGs to DirectDraw Surfaces

载入JPGE图象文件到DirectDraw的表面中 Loading JPEGs to DirectDraw Surfaces 载入JPGE图象文件到DirectDraw的表面中by Johnny Wood译: sea_bug译者的话:这是一篇关于使用Intel JPGEs Library的文章,在翻译的

2005-02-23 15:14:00 1590 1

原创 先做Jpeg读取的部分~~

查找了一点Intel Jpeg Library的资料,觉得做起来也比较简单的。就先做Jpeg读取好了。。。然后看看TSOnline的目录下面,哈哈~~ijl15.dll,也是用了Intel Jpeg Library,其他还有盛大营运的泡泡堂,仙境传说,都有用到IJL。我觉得我正在逐步的发现TSOnline这个网游的的秘密,这个过程实在太有趣了。也许有一天,我就能把这个网游完完整整的科隆一次下来

2005-02-23 15:13:00 1420

转载 小谈Online-game服务器端设计

  谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点,那么本系列的文章将分为两部分来谈谈网络游戏服务器的设计,一部分是讲如何做好服务器的网络连接,同步,广播以及NPC的设置,另一部分则将着重谈谈哪

2005-02-23 04:46:00 1794

原创 模仿Windows的消息驱动机制获得了成功

模仿Windows的消息驱动机制,管理窗口,用回调函数处理事件,已经获得了成功。现在在UI方面,窗口已经可以实现拖拽、激活焦点、失去焦点等等特性,而且还能设置回调函数对消息进行相应的处理,消息用的完全是Windows标准WM消息,而且参数也是两个wParam和lParam,当然了,消息我只是用了很少的几个,为的是节省定义的时间和符合使用习惯。参数是自己定义的。按照这个基本框架,游戏的UI方面已经没

2005-02-23 04:28:00 1712

转载 五种WinSock I/O模型的特点及比较

======    select  模型:                                    select模型是WinSock中应用最广泛的模型之一,核心就是select函数,它可用于         判断套接字上是否存在数据,或者能否向一个套接字写入数据。                 这个函数可以有效地防止应用程序在套接字处于阻塞模式中时,send或recv进入     

2005-02-22 22:49:00 3909

转载 完成端口重叠I/O模型的服务器中,存储和管理数万个socket句柄

完成端口重叠I/O模型的服务器中,如何存储和管理数万个socket句柄  ---------------------------------------------------------------   链表吧,,要么HASH链表,hehe..  ---------------------------------------------------------------   根本就不可能建立几

2005-02-22 22:47:00 2245

转载 完成端口代码

//采用完成端口的代理服务器原型代码  http://www.vckbase.com/code/listcode.asp?mclsid=9&sclsid=901   ---------------------------------------------------------------   http://www.vctop.com/View.Asp?ID=484&CateID=1  ----

2005-02-22 22:39:00 2253 2

转载 理解I/O Completion Port

  欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术:  I/O端口  同步/异步  堵塞/非堵塞  服务端/客户端  多线程程序设计  Winsock API 2.0  在这之前,我曾经开发过一

2005-02-22 22:36:00 1319

原创 窗体对消息的响应

对于鼠标的状态,我专门用了一个全局的变量存放,变量结构体如下: static struct MOUSE_EVENT_STRUCT {  // 缓冲状态  BOOL DblClicked;     // 有效双击次数  BOOL LButtonWasUp;   // 左键曾经松开  BOOL RButtonWasUp;   // 右键曾经松开  BOOL LButtonWasDown; // 左键曾

2005-02-22 18:57:00 1483

原创 Class们的分工合作安排,消息的传递。

现在,有了CCursor类,有了CDesktop类,要开始考虑它们的合作问题了。首先我的基本想法是从CCursor类得到鼠标的事件信息,把按钮状态、指针位置的信息传递给CDesktop,CDesktop根据相应的消息,执行指定的命令。CDesktop类保存的桌面数据:当前焦点窗口:一个CWin*指针,处于最上方的窗口。当前焦点控件:一个CWin*指针,当前激活窗口用有焦点的控件。当前鼠标指针状态:

2005-02-21 23:31:00 1261

原创 CDesktop类的开工~

CDesktop类负责处理窗口们。当一个窗口CreateWin以后,再在Window上面Add一些Control,把它Add到CDesktop里面就算完事了。当然在Add之前可以酌情保留其指针方便控制,也可以用CDesktop类的FindWindow()函数查找指定Name的Window,返回其指针再对其操作。而绘制桌面窗口的时候只需把desktop变量的指针传递给CGraph的RenderDes

2005-02-21 19:11:00 1417

转载 DirectInput里的键盘鼠标的应用

  设计一个PC游戏,键盘鼠标的输入是绝不能少。Windows也提供了诸如WM_LBUTTONDOWN、WM_RBUTTONUP等鼠标消息以及WM_KEYDOWN、WM_KEYUP等键盘输入消息。但是DirectInput中仍然提供了对鼠标键盘的支持,其原因就是DirectInput提供一个更直接更快捷的对输入设备的访问方法。就象我们在DOS下直接接管键盘中断,而不是去用什么讨厌的INT16来处理

2005-02-21 04:03:00 3541

转载 DirectInput 编程入门

  游戏编程可不仅仅是图形程序的开发工作,实际上包含了许多方面,本文所要讲述的就是关于如何使用 DirectInput 来对键盘编程的问题。  在 DOS 时代,我们一般都习惯于接管键盘中断来加入自己的处理代码。但这一套生存方式在万恶的 Windows 社会下是行不通的,我们只能靠领 API 或者 DirectInput 的救济金过活。  在 Windows 的 API 中,有一个 GetAsyn

2005-02-21 04:02:00 2412

转载 一个中文输入的类

一个中文输入的类 不想让ime显示默认的窗口,只想用它的转换和选字功能,看过拿铁游戏论坛上的一个兄弟的一些代码,修正了一些我认为的bug,加入了一组控制函数,使得程序中可以显示一些button,玩家可以不必用热键就能切换输入法、全角/半角,中/英文标点。//不知道这个能不能解决缩进的问题#pragma comment ( lib, "imm32.lib" )#inc

2005-02-21 03:59:00 1492

原创 DirectInput问题的完满解决

今天又查了许多关于DirectInput的文档,甚至看了DirectX 9.0 SDK中的DirectInput Sample。他们的初始化方式都基本上一样,都从 directinput 的初始化一直到 directinputdevice 的 acquire。但是,M$的acquire是不对返回进行判断的,所以它不管acquire是否成功都会返回,退出初始化函数。而其他很多网上的事例初始化都大同小

2005-02-21 03:28:00 6714

原创 DirectInput困扰了我半天。

今天下午外出办事。晚上吃饺子~~好好吃啊~DirectInput在初始化的时候困扰了我近半天的时间。令我困惑的是代码跟原来我写的旧的初始化代码完全一样,但是每当执行到Acquire()的时候,就会返回E_ACCESSDENIED。google过相关资料,还是没有任何头绪。最后翻出圣剑2的代码看它是在哪个地方初始化的。发现它是在收到WM_ACTIVE消息之后获取设备的。我还发现当我运行调试如果窗口并

2005-02-20 02:50:00 2224 1

原创 某些函数改为了inline方式优化。开始写CCursor类。

凌晨4:30看完了仙剑最后一集,哈哈又多点硬盘用了。那个2046down下来到现在看了两次,每次不超过5分钟。真的不知道说什么,找个机会删掉算了。说回游戏开发这里。一些调用频繁的函数我改为了inline优化了。另外在游戏结束的时候有6个可能出现的访问异常,后来排除了4个,现在还有两个。也需要转换成vc6+那个什么check的看看究竟在什么地方出了问题。这样看代码找太困难了。今天开始终于难以忍受No

2005-02-18 23:58:00 1525 3

原创 CGameFont类及CLabel类的诞生

今天比较大的成就应该算是做了CGameFont类和CLabel类。CGameFont是用来设置字体显示的,CLabel类是标签类,用于显示文本信息。由于用了DrawText API,可以显示多行字体并且自动换行,这下就舒服多了。至于以后可能还要弄Keyword加亮的版本,等等。现在卡在了CForm类的Draw上面。呃……刚才煮夜宵,年糕。趁着蒸的这段时间,我灵光一闪,嘿嘿,找到问题的解决办法了。至

2005-02-18 02:38:00 1634

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除