我是靠谱客的博主 自由大船,最近开发中收集的这篇文章主要介绍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++)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复