c语言中的简单动画(带有源码)

本文介绍了如何在C语言中创建简单的动画效果,包括实现圆的移动、自动动画以及星星的移动。通过调整sleep()函数控制动画速度,并讨论了帧率与动画流畅度的关系。示例代码展示了五角星的自转和往返、圆周运动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言中的简单动画(带有源码)

动画

1. 怎样实现动画

相信大家已经对动画的原理已经不陌生了。想要目标物体动起来,只需要逐个播放目标物体每一时刻位

置的图片。只要播放的速度足够快,人们就会在视觉上认为目标物体动起来了。一般来说电视每秒会播

放24帧静态画面,而游戏则更高60 120。

#include<stdio.h>
#include<easyx.h>
int main() {
   

	//初始化画布
	initgraph(800, 600);
	//设置原点
	setorigin(400,300);
	//调整坐标系
	setaspectratio(1, -1);
	//设置背景色
	setbkcolor(RGB(164, 225, 202));
	cleardevice();
	setfillcolor(WHITE);
	//绘制圆
	solidcircle(-400, 0, 70);



	//关闭拦截
	getchar();
	//关闭画布
	closegraph();
}

实现圆的移动

//实现圆的移动 就会不断的改变圆心位置 进行绘制
//实现圆的移动 就会不断的改变圆心位置 进行绘制

	for (int i = -400; i < 400; i+=25)
	{
   
		solidcircle(i, 0, 70);
		getchar();
		cleardevice();
	}

按一次回车 就会执行循环体
把圆心的x +25 清空画布在绘制

就实现动起来了

实现自动的动

使用sleep()

	for (int i = -400; i < 400; i+=5)
	{
   
		solidcircle(i, 0, 70);
		Sleep(10);
		cleardevice();
	}

速度和帧数的计算

1000ms=1s  1000毫秒=11000/10 =100 每秒100次执行 也就是100个帧

x+=5  每一帧移动5  

动画要想流畅  帧数需要提高60  就是每秒执行的次数 
和移动的距离要适当 不可过大



移动的星星

#include<stdio.h>
#include<easyx.h>
#include<math.h>
#define PI 3.14
void fivePointedStarts() {
   
	//变化角度
	double delta = 2 * PI / 5;
	//起始角度
	double start = PI / 2;//90度
	//半径 
	int r = 90;
	//绘制五个点
	POINT points[5];
	for (int i = 0; i < 5; i++)
	{
   
		points[i].x = cos(start + i * delta * 2) * r;
		points[i].y = sin(start + i * delta * 2) * r;
	}
	//链接 五个点
	polygon(points, 5);
}

int main() {
   

	//初始化画布
	initgraph(800, 600);
	//设置原点
	setorigin(400,300);
	//调整坐标系
	setaspectratio
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值