我是靠谱客的博主 自由大船,最近开发中收集的这篇文章主要介绍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 GetAsyncKeyState 实现小球移动 防止出界 设置界限 边界设定(easyx | vs2022 | c / c++)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部