设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 游戏开发 >> 制作爆炸效果
精品推荐
游戏开发点击TOP10
·DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例
·用Excel编写小游戏
·五子棋的原代码
·游戏开发方面相关的电子书下载
·游戏文件系统的解决方案
·基于LOD的大规模真实感室外场景实时渲染技术的初步研究 part II&III
·用MFC构造DirectX应用框架
·游戏开发开门
·《Windows游戏编程大师技巧》(第二版)第11章
·DirectX8.1的DirectDraw7研究手记(三)
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

制作爆炸效果

作者: 来源:网络文章 时间:2005-12-17 23:10:36

制作爆炸效果

XPlode.gif" alt="爆炸效果演示">制作爆炸效果爆炸效果演示


爆炸效果是各种游戏中不可或缺的。产生这种效果的方法多种多样,
本文介绍一种较为简单的算法,以期抛砖引玉:)这里仅给出必要代码,
请理解后自己编程。如果你有更好的算法,也请E给云风一份:)~
注:为了提高速度,题头演示画面为40x40x32帧。而
下面算法将产生80x80x64帧的图象。

首先,你必须创建一个调色版,我们需要使用到16种颜色(如下)

20000">
#000000#100000#2C0000#480000#650000#810000#A10000#C20000
#E20000#FF0000#FF6500#FF9500#FFC600#FFFF00#FFFF7D#FFFFFF

下面不是一个可用的程序,你所要作的工作是要将它读懂:)

#define 画面帧数64#define 画面大小80#define 渲染次数32
/* 渲染次数越多,爆炸画面中的亮块面积将越大 */
void 创建爆炸效果(){unsigned char 画面[画面大小][画面大小];/* 画面这个数组里最终将存放 0~15 间的整数,对应上面调色版里的16种颜色 */long int c, c2, x, y, xx, yy, color;strUCt { long int
x, y, xc, yc; } hot[渲染次数];for (c=0; c<渲染次数; C++) { hot[c].x = hot[c].y = (画面大小/2)<<16; hot[c].xc = -0x7FFF 到 0x8000 之间的随机数; hot[c].yc = -0x7FFF 到 0x8000 之间的随机数; }for (c=0; c<画面帧数; c++) { 清空画面; color = ((c<16) ? c*4 : (80-c)) >> 2; for (c2=0; c2<渲染次数; c2++) {for (x=-6; x<=6; x++) {for (y=-6; y<=6; y++) { xx = (hot[c2].x>>16) + x; yy = (hot[c2].y>>16) + y; if ((xx>0) && (yy>0) && (xx<画面大小) && (yy<画面大小)) {画面[yy][xx] += (color >> ((ABS(x)+ABS(y))/3));if (画面[yy][xx] > 63)画面[yy][xx] = 63;} }} hot[c2].x += hot[c2].xc; hot[c2].y += hot[c2].yc; } for (x=0; x<画面大小; x++) {for (y=0; y<画面大小; y++) {c2 = 画面[y][x];if (c2 < 8) 画面[y][x] = 0;else 画面[y][x] = c2/4;}} }储存画面到爆炸动画第 c;}

一点建议:你可以在程序一开始,使用这个算法生成爆炸的动
画。在需要使用时,循环播放。


云风工作室制作


制作爆炸效果 相关文章:
制作爆炸效果 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com