我是靠谱客的博主 自由大船,这篇文章主要介绍Easyx GetAsyncKeyState 实现小球移动 防止出界 设置界限 边界设定(easyx | vs2022 | c / c++),现在分享给大家,希望可以做个参考。

刚刚在学easyx的时候,键盘读取,如何实现小球移动,但是小球容易出界,界限该如何判定?
可以参考我这个程序
在这里插入图片描述
如果只写if判断,小球就会卡在边界不动,解决如下。

#include <graphics.h>
#include <cstdio>
int main() {
	double x = 50, y = 50;//定义小球初始位置
	initgraph(1040, 600, SHOWCONSOLE);//设置图形边框
	while (1) {
		setbkcolor(WHITE);//设置背景颜色
		cleardevice();//
		//int x = 50, y = 50;
		double v = 0.1;//定义速度v  int 速度太快
		setfillcolor(BLUE);//设置小球颜色
		int r = 10;//小球半径 写这样方便修改
		fillcircle(x, y, r);//设置小球大小位置
		FlushBatchDraw();//结束批量绘制
		//如果到边界了  就把对于坐标返回  然后继续读取就行
		if (GetAsyncKeyState('W') && y > r)//上移
			y -= v;
		if (GetAsyncKeyState('S') && y < 600 - r)//下移
			y += v;
		if (GetAsyncKeyState('A') && x > r)//左移
			x -= v;
		if (GetAsyncKeyState('D') && x < 1000 - r)//右移
			x += v;
	}
	getchar();
	closegraph();
	return 0;
}

最后

以上就是自由大船最近收集整理的关于Easyx GetAsyncKeyState 实现小球移动 防止出界 设置界限 边界设定(easyx | vs2022 | c / c++)的全部内容,更多相关Easyx内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(142)

评论列表共有 0 条评论

立即
投稿
返回
顶部