C语言实现动画控制
文章目錄
- 原材料
- 說明
- 一場革命
原材料
下載原材料網址:
https://www.easyx.cn/downloads/
下載easyx2014冬至版,將lib文件放在編譯器默認的lib文件夾,h頭文件放在編譯器默認的include文件夾即可
說明
C語言可以用系統內部的定時函數sleep和usleep定時(需要windows.h頭文件),但是繪圖窗口是沒有的,這需要下載easyx頭文件和lib文件,現在給你的C編譯器來一場革命吧!
注:目前最新的easyx版本支持的編譯器版本有Visual C++6,2015和2017,最好使用第一個。
一場革命
如果說萬事俱備了,我們就可以開始了。easyx的壓縮包里面有一個幫助文檔很有用,但屬于字典式說明,不太好查閱,希望正在用easyx的同行們也多分享一些資源。在此提供一個沿著指定的半徑依次畫12個不同色彩的圓并依次擦除的小動畫程序,由于需要學習的地方很多,我把不太容易理解的地方都加了注釋,根據函數名非常容易理解,按照圖形畫法學習C語言語法,既生動又簡單,很快就可以跨越語法的障礙:
#include <graphics.h> // 引用圖形庫頭文件 #include <conio.h> #include <stdio.h> #include <windows.h> //用到了定時函數sleep() #include <math.h> #define PI 3.14159265 //畫圓必備 int a[]={0,0xAA0000,0x00AA00,0xAAAA00,0x0000AA,0xAA00AA,0x0055AA,0xAAAAAA,0x555555,0xFF5555,0x55FF55,0xFFFF55,0x5555FF,0xFF55FF,0x55FFFF,0xFFFFFF};//a[]是顏色數組 //a數組存放的顏色依次為 /* |0:黑色 |1:藍色 |2:綠色 |3:青色 |4:紅色|5:紫色 |6:棕色 |7:淺灰 |8:深灰 |9:亮藍|10:亮綠 |11:亮青 |12:亮紅 |13:亮紫 |14:黃色 |15:白色 */ int main() {system("color 0B"); //設置字體為亮藍色,純粹為了好看short x,y;//圓心坐標int R;//旋轉半徑int color[6]={1,2,3,4,5,6};//指定圓的顏色int i=0;char t;printf("C語言繪圖實驗:\n");printf("請選擇畫布大小(以空格分隔):\n");scanf("%d%d",&x,&y);initgraph(x,y,SHOWCONSOLE); // 創建繪圖窗口,大小為 640x480 像素printf("請輸入旋轉半徑: ");scanf("%d",&R);printf("請選擇6種圓的顏色:\n");printf("|0:黑色\n|1:藍色\t|2:綠色\t|3:青色\t|4:紅色\t|5:紫色\n|6:棕色\t|7:淺灰\t|8:深灰\t|9:亮藍\t|10:亮綠\n|11:亮青\t|12:亮紅\t|13:亮紫\t|14:黃色\t|15:白色\n"); scanf("%d%d%d%d%d%d",color,color+1,color+2,color+3,color+4,color+5);//錄入6種不同的顏色printf("\r按任意鍵繼續:\n");while(_getch()) //_getch()是按下任意鍵即返回非零值的函數,與getchar()不同,不經過標準輸入流的緩存區{for(i=0;i<12;i++){setlinecolor(RGB(0, 0, 0)); // 設置當前線條顏色setfillcolor(a[color[i%6]]); // 設置當前填充顏色fillcircle(x/2+R*cos(i*PI/6),y/2+R*sin(i*PI/6),R*(PI/12)*0.9); //繪制填充圓Sleep(300); //延時300ms}for(i=0;i<12;i++){setlinecolor(RGB(0, 0, 0)); // 設置當前線條顏色setfillcolor(a[0]); // 背景色(黑色)覆蓋掉原來的圖形fillcircle(x/2+R*cos(i*PI/6),y/2+R*sin(i*PI/6),R*(PI/12)*0.9); Sleep(300); //延時300ms}}return 0; }由于這里面不方便傳視頻,我就只好傳一下代碼運行的截圖了,以下是程序運行主界面:
以下是繪圖界面:
希望本文對您有幫助,謝謝閱讀
總結
- 上一篇: c# 获取电脑硬件信息通用查询类[测试通
- 下一篇: decode 实例