




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创建win32控制台应用程序,选择空项目。创建完毕后,右击头文件新建一个头文件(.h)。名字写main.h然后在源文件新建一个C+文件(.cpp)。名字写main.cpp如图:然后在main.h里面写上如下代码:#include #include #include #include #include #include #pragma comment(lib,winmm.lib)#define PI3.1415926535#define NUM13 /烟花弹struct JETintx, y;/坐标inthx,hy; /最高点坐标boolshoot; /判断烟花弹是不是发射状态DWORD t1, t2, dt; /烟花弹发射的速度IMAGE img2; /图片2张 一明一暗的两张byte n : 1; /结构体 位段 变量 n 占用内存的一个位!jetNUM;/烟花struct FIREint r; /半径int maxr; /最大半径int x, y;/相对于窗口 中心点的坐标int cenx, ceny; /相对于图片本身 中心点的坐标int width, height; int xy240240; /图片 保存到一个像素矩阵。bool show;/是否绽放bool draw;/是否绘制DWORD t1, t2, dt;/爆炸的速度fireNUM;void Init(int i);void Load();void Chose(DWORD& t1);void Shoot();void Show(DWORD* pem);在main.cpp写上如下代码:/*表白浪漫烟花项目开发*主讲人:三黑之毅*最后修改:2019年3月20日*/#include main.hint main()/打开一个窗口 1200 800initgraph(1200, 800);srand(unsigned int)time(NULL);mciSendString(Lopen ./fire/千年.mp3 alias bgm, 0, 0, 0);mciSendString(Lplay bgm repeat, 0, 0, 0);DWORD t1 = GetTickCount();DWORD* pem = GetImageBuffer();for (int i = 0; i NUM; i+)Init(i);Load();BeginBatchDraw();while (1)Sleep(10);for (int clr = 0; clr 1000; clr+)for (int j = 0; j 2; j+)int px1 = rand() % 1200;int py1 = rand() % 800;if (py1 799)pempy1 * 1200 + px1 = pempy1 * 1200 + px1 + 1 = BLACK;Chose(t1);Shoot();Show(pem);FlushBatchDraw();return 0;/初始化 13个void Init(int i)/ 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离 (x、y) 两个分量int r15 = 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155, 145, 124 ;int x15 = 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110, 145, 124 ;int y15 = 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85, 145, 124 ;firei.width = 500;firei.height = 500;firei.maxr = ri;firei.cenx = xi;firei.ceny = yi;firei.show = false;firei.t1 = GetTickCount();firei.dt = 5;firei.r = 0;/初始化烟花弹的部分数据jeti.t1 = GetTickCount(); /定个时间点jeti.dt = rand() % 10; /0-9 msjeti.n = 0;jeti.shoot = false; /都是没有发射的。/加载图片void Load() /加载到哪里去?IMAGE fm, gm;loadimage(&fm, L./fire/flower.jpg, 3120, 240);for (int i = 0; i NUM; i+)SetWorkingImage(&fm); /fm去拿getimage(&gm,i*240, 0, 240, 240); /gmSetWorkingImage(&gm); /gm去拿for (int a = 0; a 240; a+)for (int b = 0; b 240; b+)firei.xyab = getpixel(a, b);/文件夹IMAGE sm;loadimage(&sm, L./fire/shoot.jpg, 200, 50);/保存在smfor (int i = 0; i 1) /每隔1个ms 产生一个烟花弹int n = rand() % NUM; /0-12if (jetn.shoot = false&firen.show = false) /非发射状态jetn.x = rand()%1200;jetn.y = rand() % 100 + 600; /600-699之间jetn.hx = jetn.x;jetn.hy = rand()%400;/0-399jetn.shoot = true; /发射状态putimage(jetn.x, jetn.y, &jetn.imgjetn.n, SRCINVERT);t1 = t2;void Shoot()for (int i = 0; i = jeti.dt&jeti.shoot=true)putimage(jeti.x, jeti.y, &jeti.imgjeti.n, SRCINVERT);if (jeti.y = jeti.hy)jeti.n+;/一闪一闪jeti.y -= 5; /上升/putimage(jeti.x, jeti.y, &jeti.imgjeti.n, SRCINVERT);if (jeti.y = jeti.hy) /到达最高点了/擦除烟花弹putimage(jeti.x, jeti.y, &jeti.imgjeti.n, SRCINVERT);/烟花弹最高点的 hx hy -烟花firei.x = jeti.hx;firei.y = jeti.hy;/改变烟花弹的状态jeti.shoot = false;firei.show = true;putimage(jeti.x, jeti.y, &jeti.imgjeti.n, SRCINVERT);jeti.t1 = jeti.t2;void Show(DWORD* pem)int dir16 = 5, 5, 5, 5, 5, 8, 25, 25, 25, 55, 55, 55, 55, 65, 65, 66 ;for (int i = 0; i firei.dt&firei.show = true)if (firei.r = firei.maxr - 1)firei.draw = false;Init(i);firei.t1 = firei.t2;if (firei.draw = true)/圆 PIfor (double a = 0; a 0 & x10 & y1 8) & 0xff;int r = firei.xyx1y1 16;int xx = (int)(firei.x + firei.r*cos(a);int yy = (int)(firei.y - firei.r*sin(a);if (r0x20 & g 0x20 & b 0x20 & xx 0 & xx0 & yy 800)pemyy * 1200 + xx = BGR(firei.xyx1y1);firei.draw = false;/*注:音乐:千年.mp3,自己去网上下载,然后放到程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延安四中考试原题及答案
- 课件中的男生形象
- 杭州e类人才考试试卷真题及答案
- 滴滴线下安全培训地方课件
- 课件专家评审意见
- 滴滴开展线下安全培训课件
- 地铁员工专业知识考试题及答案
- 安阳消防安全培训公司课件
- 安阳保洁安全培训内容课件
- 滚动安全培训课件
- (课件)肝性脑病
- 基坑土石方开挖安全专项施工方案
- 中小学心理健康教育指导纲要考试试题及答案
- 社会统计学-全套课件
- 打印版唐能通
- 物流公司道路运输许可证申请资料范文
- 分公司总经理管理手册
- 六年级上册英语试题Unit1 I go to school at 8:00. 阶段训练一-人教精通版-(无答案 )
- 择菜洗菜和切菜
- (完整版)湘教版地理必修一知识点总结
- [中天]香港置地北郡商业施工策划(共172页)
评论
0/150
提交评论