- 实现过程:
对于此次c语言动画的实现,思路很简单,先从网上下载一段mv及原声音乐,用DVDVideoSoft Free Studio将视频分为3000张图片,再用Ascgen2将3000张图片转化问3000个ASCII字符txt文件,并保持像素的一致,然后通过程序调用每一个文本并快速清屏通过快速切换在控制台来实现动画效果。
二、源代码
#include<windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm")
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define WIDTH 474 //宽度
#define HIGHT 120 //高度
#define PAGE_LIMIT 3000 //帧数
#define N HIGHT*WIDTH //字符数
//初命名
char name[]="ASCII-1 0001.txt";
char str[N];
int main()
{
system("pause");//等待用户信号;
int i,j,n=1,p,q;
char a[4]="000";
//帧操作
for(i=1;i<=PAGE_LIMIT;i++)
{
//时间轴定位
for(p=10,q=0;q<4;q++)
{
if(i<10&&q==1)break;
else if(i<100&&q==2)break;
else if(i<1000&&q==3)break;
else
{
a[q]=i%p/(p/10)+48;
p*=10;
}
}
//重命名
for(p=0;p<q;p++)
name[11-p]=a[p];
FILE *fp;
//打开文本
if((fp=fopen(name,"r"))==NULL)
{
printf("%d",i);
system("pause");
continue;
}
//读取文本
while(fgets(str,N ,fp)!=NULL)
printf("%s",str);
//关闭文本
fclose(fp);
system("cls");//清屏
}
system("pause");//等待用户信号
return 0;
}