• 大小: 10.59MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-17
  • 语言: C/C++
  • 标签: C++  EasyX  流星雨  

资源简介

C++打造流星雨特效源代码,基于EasyX图形库,带有背景音乐

资源截图

代码片段和文件信息

#include 
#include 
#include 
#pragma comment(lib “winmm.lib“)
#define MAXSTAR 30
#define MAXSTAR1 1000

IMAGE img1 img2;
struct STAR
{
int x;
int y;
int step;
int style;
}star[MAXSTAR];
struct STAR1 //星星结构体
{
int x;
int y; //星星坐标
int step; //移动速度
COLORREF color; //星星颜色
}star1[MAXSTAR1];

void initData();
void initStar1(int i);
void initStar(int i);
void moveStar1(int i);
void moveStar();
void DrawStar();

int main()
{
mciSendString(“open 凉凉.mp3 alias music“ 0 0 0);
mciSendString(“play music repeat“ 0 0 0);
initData();

while (1)
{
BeginBatchDraw();
cleardevice();
for (int i = 0; i != MAXSTAR1; ++i)
{
moveStar1(i);
}
moveStar();
DrawStar();
Sleep(100);
EndBatchDraw();
}
return 0;
}
void initData()
{
srand((unsigned int)time(nullptr));
initgraph(640 480);

loadimage(&img1 “2.jpg“ 50 50);
loadimage(&img2 “3.jpg“ 50 50);

for (int i = 0; i != MAXSTAR1; ++i)
initStar1(i);
for (int i = 0; i != MAXSTAR; ++i)
initStar(i);
}
void initStar1(int i)
{
star1[i].x = rand() % 640;
star1[i].y = rand() % 480;
star1[i].step = rand() % 5;
star1[i].color = RGB(star1[i].step * 51 star1[i].step * 51 star1[i].step * 51);
}
void initStar(int i)
{
star[i].x = rand() % 1280 - 640;  //-640-639
star[i].y = -144;
do
{
star[i].step = rand() % 30 + 1;
} while (star[i].step < 5);
star[i].style = rand() % 2;
}
void moveStar1(int i)
{
// putpixel(star1[i].x star1[i].y RGB(0 0 0));
star1[i].x += star1[i].step;
if (star1[i].x > 640)
{
initStar1(i);
star1[i].x = 0;
}
putpixel(star1[i].x star1[i].y star1[i].color);
}
void moveStar()
{
for (int i = 0; i != MAXSTAR; ++i)
{
star[i].x += star[i].step;
star[i].y += star[i].step * 480 / 640;
if (star[i].x > 640 || star[i].y > 480)
initStar(i);
}
}
void DrawStar()
{
for (int i = 0; i != MAXSTAR; ++i)
{
switch (star[i].style)
{
case 0:
putimage(star[i].x star[i].y &img1 SRCPAINT);
break;
case 1:
putimage(star[i].x star[i].y &img2 SRCPAINT);
break;
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      62932  2018-07-15 08:58  流星雨\Debug\1.jpg

     文件      16367  2018-07-15 08:01  流星雨\Debug\2.jpg

     文件      16422  2018-07-15 08:01  流星雨\Debug\3.jpg

     文件    5373563  2018-07-15 08:01  流星雨\Debug\凉凉.mp3

     文件     115712  2018-07-15 10:34  流星雨\Debug\流星雨.exe

     文件     850676  2018-07-15 10:34  流星雨\Debug\流星雨.ilk

     文件     880640  2018-07-15 10:34  流星雨\Debug\流星雨.pdb

     文件      62932  2018-07-15 08:58  流星雨\流星雨\1.jpg

     文件      16367  2018-07-15 08:01  流星雨\流星雨\2.jpg

     文件      16422  2018-07-15 08:01  流星雨\流星雨\3.jpg

     文件     248832  2018-07-15 10:34  流星雨\流星雨\Debug\vc141.idb

     文件     143360  2018-07-15 10:34  流星雨\流星雨\Debug\vc141.pdb

     文件        750  2018-07-15 09:17  流星雨\流星雨\Debug\流星雨.Build.CppClean.log

     文件         84  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.log

     文件        534  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\CL.command.1.tlog

     文件      25152  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\CL.read.1.tlog

     文件        272  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\CL.write.1.tlog

     文件        926  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\link.command.1.tlog

     文件       3120  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\link.read.1.tlog

     文件        256  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\link.write.1.tlog

     文件        201  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog\流星雨.lastbuildstate

     文件      29531  2018-07-15 10:34  流星雨\流星雨\Debug\源.obj

     文件    5373563  2018-07-15 08:01  流星雨\流星雨\凉凉.mp3

     文件       5940  2018-07-15 08:34  流星雨\流星雨\流星雨.vcxproj

     文件        948  2018-07-15 08:34  流星雨\流星雨\流星雨.vcxproj.filters

     文件        165  2018-07-15 08:27  流星雨\流星雨\流星雨.vcxproj.user

     文件       2194  2018-07-15 10:35  流星雨\流星雨\源.cpp

     文件       1441  2018-07-15 08:27  流星雨\流星雨.sln

     目录          0  2018-07-15 10:34  流星雨\流星雨\Debug\流星雨.tlog

     目录          0  2018-07-15 10:34  流星雨\流星雨\Debug

............此处省略6个文件信息

评论

共有 条评论