我用的是VC6.0,需要下载EasyX Graphics Library for C++
exe:c++夜空小动画(EasyX)EXE-C++文档类资源-CSDN下载
上代码:(源码,本新手肝出来的)
#include#include #include #include #include #include #define MAXSTAR 30 // ÐÇÐÇ×ÜÊý #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) struct STAR { double x; int y; double step; int color; }; STAR star[MAXSTAR]; // ³õʼ»¯ÐÇÐÇ void InitStar(int i) { star[i].x = 0; star[i].y = rand() % 480; star[i].step = (rand() % 5000) / 1000.0 + 1; star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // ËÙ¶ÈÔ½¿ì£¬ÑÕɫԽÁÁ star[i].color = RGB(star[i].color, star[i].color, star[i].color); } // ÒÆ¶¯ÐÇÐÇ void MoveStar(int i) { // ²ÁµôÔÀ´µÄÐÇÐÇ putpixel((int)star[i].x, star[i].y, 0); putpixel((int)star[i].x+1, star[i].y, 0); putpixel((int)star[i].x+1, star[i].y+1, 0); putpixel((int)star[i].x, star[i].y+1, 0); putpixel((int)star[i].x, star[i].y, 0); putpixel((int)star[i].x+2, star[i].y, 0); putpixel((int)star[i].x+2, star[i].y+2, 0); putpixel((int)star[i].x, star[i].y+2, 0); putpixel((int)star[i].x+2, star[i].y+1, 0); putpixel((int)star[i].x+2, star[i].y+1, 0); putpixel((int)star[i].x+1, star[i].y+2, 0); putpixel((int)star[i].x+1, star[i].y+2, 0); // ¼ÆËãÐÂλÖà star[i].x += star[i].step/3; if (star[i].x > 640) InitStar(i); // »ÐÂÐÇÐÇ putpixel((int)star[i].x, star[i].y, star[i].color); putpixel((int)star[i].x+1, star[i].y, star[i].color); putpixel((int)star[i].x+1, star[i].y+1, star[i].color); putpixel((int)star[i].x, star[i].y+1, star[i].color); putpixel((int)star[i].x, star[i].y, star[i].color); putpixel((int)star[i].x+2, star[i].y, star[i].color); putpixel((int)star[i].x+2, star[i].y+2, star[i].color); putpixel((int)star[i].x, star[i].y+2, star[i].color); putpixel((int)star[i].x+2, star[i].y+1, star[i].color); putpixel((int)star[i].x+2, star[i].y+1, star[i].color); putpixel((int)star[i].x+1, star[i].y+2, star[i].color); putpixel((int)star[i].x+1, star[i].y+2, star[i].color); } // Ö÷º¯Êý int main() { int fp=0,fps,sta=(int)time(0); loadimage(NULL,NULL,NULL,NULL,NULL,NULL); srand((unsigned)time(NULL)); // Ëæ»úÖÖ×Ó initgraph(640, 480); loadimage(NULL,"Bitmap1.bmp",640,100,0); saveimage("Bitmap1"); settextcolor(RGB(255,255,255));// ´´½¨»æÍ¼´°¿Ú // ³õʼ»¯ËùÓÐÐÇÐÇ for(int i = 0; i < MAXSTAR; i++) { InitStar(i); star[i].x = rand() % 640; } MOUSEMSG m; // »æÖÆÐǿգ¬°´ÈÎÒâ¼üÍ˳ö while(1){ BeginBatchDraw(); fp++; for(int i = 0; i < MAXSTAR; i++) MoveStar(i); setfillcolor(RGB(255,255,200)); solidcircle(100,100,20); clearcircle(95,95,20); setfillcolor(RGB(235,235,180)); solidcircle(100,100,19); clearcircle(95,95,19); setfillcolor(RGB(200,200,145)); solidcircle(100,100,18); clearcircle(95,95,18); setfillcolor(RGB(0,40,0)); solidellipse(0,450,639,500); if(KEY_DOWN('E')){ settextcolor(RGB(255,255,255)); outtextxy(1,1,"made from Microsoft Visual C++ 6.0.0"); outtextxy(1,20,"star 0.0.71 made by Jared"); outtextxy(1,40,"Use Graphics.h Headfile --From EasyX.h"); outtextxy(1,60,"EasyX html:"); settextcolor(RGB(90,150,255)); outtextxy(1,80,"https://easyx.cn/"); settextcolor(RGB(255,255,255)); outtextxy(1,100,"Press E:Help"); outtextxy(1,120,"Press C:initgraph"); outtextxy(1,140,"Press R:closegraph"); if(MouseHit())outtextxy(1,160,"Mousehit:1"); else outtextxy(1,160,"Mousehit:0"); if(MouseHit()){ m=GetMouseMsg(); switch(m.uMsg){} } } if(KEY_DOWN('R')){ closegraph(); } if((int)time(0)-sta>=1){ fps=fp; fp=0; sta=(int)time(0); } if(KEY_DOWN('C')) main(); EndBatchDraw(); Sleep(20); clearrectangle(0,0,1000,1000); } closegraph(); }
跪求评论
跪求评论



