学习day3 让画出来的圆形进行最简单的动起来

文章介绍了如何使用C++EasyX库实现圆形图形的水平移动,包括手动按键控制和自动往返运动,并提供了在Windows11中解决图形不响应问题的解决方案。

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

想让一个圆形进行横向移动

#include<easyx.h>
#include<stdio.h>
int main()
{
	//调整窗体
	initgraph(800,600);
	setorigin(400,300);
	setaspectratio(1,-1);   
	//设置背景颜色
	setbkcolor(RGB(164,225,202));
	cleardevice();
	//画一个图形
	setfillcolor(WHITE);
	solidcircle(-400,0,50);
	//使图形动起来
	int x,y=0;
	for(x=-400;x<=400;x+=25)
	{
		cleardevice();      //循环体内清空之前绘制的图形
		solidcircle(x,y,50);//使用新x,y坐标重新绘制圆形
		getchar();

	}
	getchar();
	closegraph();
	return 0;
}			

编译结果如上图所显示,此时要按回车键才能动,按一次动一次。

若出现按了回车键没有反应的情况(本人就遇到了)解决方案如下:在win11的版本中右键选择个性化——系统——开发者选项——终端——更改选项,如下图

此时就可以动起来了。。

当然将循环体内的getchar()改为Sleep(40)这样就可以自己运动了;

接下来时往返运动

#include<easyx.h>
#include<stdio.h>
int main()
{
	//调整窗体
	initgraph(800,600);
	setorigin(400,300);
	setaspectratio(1,-1);   
	//设置背景颜色
	setbkcolor(RGB(164,225,202));
	cleardevice();
	//画一个图形
	setfillcolor(WHITE);
	solidcircle(-400,0,50);
	//使图形动起来
	int x=-400,y=0;
	int dx=5;   //5为每次运动的像素值
	while(1)    //while是个死循环,不断绘图往返
	{
		cleardevice();
		solidcircle(x,y,50);
		Sleep(40);
		x=x+dx;
		if(x==-400||x==400) //边界处反方向运动
		{
			dx=-dx;
		}
	}
	getchar();
	closegraph();
	return 0;
}			

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值