介绍
本篇内容主要讲解“怎么用C语言给喜欢的人写烟花”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”怎么用C语言给喜欢的人写烟花”吧!
一、结构体
首先当然是我们的老朋友结构体,其中艺术字结构体不用我多说,该写什么内容自己应该知道哈
//,烟花结构 struct 火 { int r;//,当前爆炸半径 int max_r;//,爆炸中心距离边缘最大半径 int , x,, y;//,爆炸中心在窗口的坐标 int cen_x, cen_y;//,爆炸中心相对图片左上角的坐标 int ,宽度,高度;//,图片的宽高 int xy [240] [240];//,储存图片像素点 , bool 显示;//,是否绽放 bool 画;//,开始输出像素点 DWORD , t1, t2,, dt;//,绽放速度 }火(NUM); ,//,烟花弹结构 struct 喷气机 { int , x,, y;//,喷射点坐标 int hx,衔接;//,最高点坐标- - - - - -将赋值给,FIRE 里面的,x,, y int 高度;//,烟花高度 bool 拍摄;//,是否可以发射 , DWORD , t1, t2,, dt;//,发射速度 IMAGE img [2];//,储存花弹一亮一暗图片 byte n : 1;//,图片下标 }喷气机(NUM); ,//,happy birthday 艺术字结构 快乐//struct 储存,Happy Birthday 艺术字图片 { int , x,, y;//,每个字的图片的左上角坐标 IMAGE img;//,储存单个字图片 全国矿工工会static int ;//,字母序号 }(NUM)快乐;
二、初始化
初始化烟花参数,把一切准备工作完成好
//,初始化烟花参数 void Init (, int 小姐:) {//,分别为:烟花中心到图片边缘的最远距离,烟花中心到图片左上角的距离,(x, y),两个分量 int r [13],=, {, 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155,}; int x [13],=, {, 120, 120, 110, 117, 110, 93,, 102, 102, 110, 105, 100, 108, 110,}; int y [13],=, {, 120,, 120,, 85,, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85,,}; ,/* * * *,初始化烟花,* * * * */, [我]。x=, 0;//,烟花中心坐标 [我]。y=, 0; [我]。宽度=,240;//,图片宽 [我]。身高=,240;//,图片高 [我]。max_r=, r(我);//,最大半径 [我]。cen_x=, x[我];//,中心距左上角距离 [我]。cen_y=, y[我]; [我]。显示=,假;//,是否绽放 [我]。dt=, 5;//,绽放时间间隔 [我]。t1=, timeGetTime (); [我]。r=, 0;//时间从大敌;;0,开始绽放 ,/* * * *,初始化烟花弹,* * * * */, 飞机[我]。x=, -240;//,烟花弹左上角坐标 飞机[我]。y=, -240; 飞机[我]。hx=, -240;//,烟花弹发射最高点坐标 飞机[我]。=为什么,-240; 飞机[我]。身高=,0;//,发射高度 飞机[我]。t1=, timeGetTime (); 飞机[我]。dt=, rand (), %, 10;//,发射速度时间间隔 飞机[我]。n=, 0;//,烟花弹闪烁图片下标 飞机[我]。射击=,假;//,是否发射 }
三、烟花加载函数
加载图片,储存烟花的像素点颜色
//,加载图片 void 负载() {/* * * *,储存烟花的像素点颜色,* * * */IMAGE 调频,通用; loadimage(,,调频,“。/消防/flower.jpg",, 3120,, 240,); , for (, int 小姐:=,0;,小姐:& lt;, 13;,我+ +,) { SetWorkingImage (,, fm ); getimage(,,通用,小姐:*,240,0,240,240,); SetWorkingImage (,, gm ); , for (, int a =, 0;, a & lt;, 240;, + +,) for (, int b =, 0;, b & lt;, 240;, b + +,) 火[我].xy[一][b],=,获取像素(,,b ); } , IMAGE sm; sm loadimage(,,,,,。/消防/shoot.jpg",, 200年,50,); , for (,小姐:=,0;,小姐:& lt;, 13;,我+ +,) { SetWorkingImage (,, sm ); int n =, rand (), %, 5; , getimage(,,飞机[我]。img [0], n *, 20岁,0,,20日,50,); getimage(,,飞机[我]。img[1],(时间+ n 5), *, 20岁,0,,20日,50,); } , IMAGE 英国; loadimage(,,嗯,,“。/消防/happy.jpg",, 689,, 115,); SetWorkingImage (,, hm ); , for (,小姐:=,0;,小姐:& lt;, 13;,我+ +,) { [我].x 快乐=,小姐:*,90; [我].y 快乐=,rand (), %,, 100 +, 500; getimage(,,,[我]。img快乐,小姐:*,53岁,0,,53岁,115年,); } , 的愿望。x=, 0; 的愿望。y=, 100; 的愿望。t1=, timeGetTime (); 的愿望。dt=, 46个; 的愿望。dir=, 0; 的愿望。dxy=, rand (), %, 8, +, 1; loadimage (,, Wish.img,“。/消防/yaojing.jpg",, 490,, 100,); putimage (Wish.x,大敌;Wish.y,,, Wish.img,, SRCINVERT ); , SetWorkingImage (); }怎么用C语言给喜欢的人写烟花