首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 您现在的位置: 中国IT实验室 >> 游戏开发 >> 游戏开发入门 >> 正文
如何实现2D游戏中的技能特效
来源:ChinaItLab 作者: 时间:2004-12-26


  在我们的2D图形游戏中不可缺少大量的光影、技能特效,像Diablo II中的魔法效果的实现,幸好我们拥有强大的CPU来为我们实现Alpha混合与色彩饱和混合,接下来让我们来讨论一下如何用这些方法来实现我们游戏中所需要的技能特效。
  
  一、Alpha混合特效
  Alpha混合可以让我们让我们将一张图象按一定程度的比例与另一张图象进行混合(如图1),但普通的Alpha混合并不适合游戏中的技能特效的显示,这时候我们只需要添加一些数据让混合更准确些,为了实现这样的效果,我们往图象中加入Alpha通道数据(如图2),然后我们再根据通道数据来进行混合就可得到如图3的混合效果,现在看起来是不是更像特效了。 :)
  不过问题始终还是有的,只要仔细观察,不难发现在图3中的特效周围有黑影,这似乎给我们的技能效果添加了一点瑕疵,为什么会这样?因为我们的程式是根据图象上的通道数据来进行不同程度的Alpha混合处理,但在特效边缘实际上RGB色彩值更接近于黑色(R=0、G=0、B=0),一旦这样混合后,周围肯定会产生黑边,不过可以放心,这里我们可以用一个简单的技巧来轻松避免黑边的产生,那就是将图2中的RGB色彩图用灰色背景来填充,这样在混合之后就没有黑边,至少看起来没有以前明显了,这里没有最后效果图,最后的效果还是由你自己的程式来实现吧。
  
 

  
图1 普通的整图Alpha混合

  
 

  
图2

  
 

  
图3 Alpha+通道混合的效果

  

  
图4 色彩饱和处理的效果

  
  二、色彩饱和特效
  与Alpha混合相比,色彩饱和更适合于特效的制作,无论从性能上讲,还是从效果上说,色彩饱和比Alpha混合更胜一筹(如图4)。可能因为色彩饱和的算法过于简单,很少有进行介绍的,我们先就对色彩饱和的方法来进行介绍一下,混合公式:
  
  R1、G1、B1 : 图象像素点的源色值;
  R2、G2、B2 : 底图像素点的源色值;
  R = R1 + R2;( IF R > 255 THEN R = 255 )
  G = G1 + G2;( IF G > 255 THEN G = 255 )
  B = B1 + B2;( IF B > 255 THEN B = 255 )
  
  R、G、B就是我们所需的混合结果。
  可能你会觉得这么复杂的计算怎么会在性能上优于Alpha混合,当然,如果你所使用到的只是CPU的常规指令,那的确,在性能上没有Alpha快,但现在MMX指令已经作为CPU的基本指令,可能目前也很难找到一块没有MMX的CPU了(除非去旧货市场),MMX指令中就有一个饱和加的CPU指令,可以非常方便的进行操作,不得不感谢CPU制造商所做的功劳。:-)
  
  好了,两种方式都介绍了,可以说这基本上已经可以胜任2D游戏中所需要,接下来就让我们来让游戏更精彩。
【责编:admin】

中国IT教育热线咨询

相关文章
金刚龙制作流程揭秘
基于D3D Effect的引擎模式探讨
介绍简易制作飞行模拟游戏的方法
WU反走样(Anti-aliased)直线初探
基于Alpha通道的伪粒子系统的应用
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
 基础入门  开发文档
 最新推荐
  多数的Windows程序都需要Windows.h和Windowsx.h这两个头文件,要确保使用它们。当然,你还需要其它......
游戏引擎演化史
在Windows上安装OGRE的方法
关于滤镜遮罩概念,Sobel 遮罩
游戏开发新手入门之Windows编程
游戏开发新手入门之位图化图形
教你实现卡通渲染的另类勾边方法
游戏设计大师谈如何成为一名游戏设
Visual C#编写 3D游戏框架示例
真正的 Java 学习从入门到精通
游戏开发经验——游戏开发的基本常
  为什么要研究攻击行为在人类有记载的5600年的历史中,共计发生了14,400次战争;今天,平均一天要发生............
游戏开发中显示对话的特殊句法
游戏原型设计的介绍
网络游戏中的攻击行为
谈动作类游戏的必要条件
规则的多元分析模式
载入位图文件到DirectDraw
Archer Game Suite 是什么?
浅谈游戏企划-新手入门篇
暴雪称霸游戏业界的六大秘密绝招
骨骼动画及示例Skinned Mesh的解析
  培训中心