easyx图形编辑--键盘操作
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)
今天我们来学一下如何在easyx窗口中使用键盘操作
用于接收键盘信息的函数有两个:
getch() //需要包含头文件<conio.h>
GetAsyncKeyState() //需要包含头文件<windows.h>
然后就是easyx的常规三步走
initgraph(1000, 640, SHOWCONSOLE);//创建一个窗口
setbkcolor(WHITE);//设置窗口颜色
cleardevice();//刷新一下,防止窗口颜色不变
首先我们要绘制一个可以被操控的变量,这里我们以圆形为例
先绘制一个圆,指明其坐标以及大小
int x = 0;
int y = 0;
setfillcolor(BLACK);
fillcircle(x, y, 50);
接下来就需要引入控制函数了,我们先讲一下getch()
首先创建一个字符串变量
char key = _getch();//vs2022要求getch前面要加下划线,如果不是vs则不用加
然后用Switch接收按键信息,我们就以常规的‘w’,'s','a','d'为例
switch (key){case 'w':printf("上键");y -= 50;break;case 's':printf("下键");y += 50;break;case 'a':printf("左键");x -= 50;break;case 'd':x += 50;printf("右键");break;}
接下来我们讲一下GetAsyncKeyState(),相比于上一个操作系统,这个显得更为流畅丝滑,因为它甚至可以斜着移动
if (GetAsyncKeyState(VK_UP))//上键{y -= 50;}if (GetAsyncKeyState(VK_DOWN))//下键{y += 50;}if (GetAsyncKeyState(VK_LEFT))//左键{x -= 50;}if (GetAsyncKeyState(VK_RIGHT))//右键{x += 50;}
圆在移动的时候会留下轨迹,所以我们需要刷新一下
cleardevice();
最后别忘了将其放置在循环之中便于操作 ,整体效果如下:
while (1){cleardevice();//控制球setfillcolor(BLACK);fillcircle(x, y, 50);if (GetAsyncKeyState(VK_UP))//上键{y -= 50;}if (GetAsyncKeyState(VK_DOWN))//下键{y += 50;}if (GetAsyncKeyState(VK_LEFT))//左键{x -= 50;}if (GetAsyncKeyState(VK_RIGHT))//右键{x += 50;}char key = _getch();switch (key){case 'w':printf("上键");y -= 50;break;case 's':printf("下键");y += 50;break;case 'a':printf("左键");x -= 50;break;case 'd':x += 50;printf("右键");break;}
}
末尾就是细节三步了
getchar();//防止闪退
closegraph();//关闭窗口
return 0;
easyx图形编辑--键盘操作相关推荐
- 初识EasyX图形编程
相关视频--[C/C++/EasyX]学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 我的小站--半生瓜のblog,同步更 ...
- 8.1 matlab图形窗口与坐标轴(图形对象的句柄和属性、坐标轴的操作、图形窗口的操作)
1.图形对象的句柄 (1)句柄的概念 在MATLAB中,用句柄来标识对象,通过句柄来访问相应对象的属性:在MATLAB系统中建立-个对象,系统就会建立-个映射该对象的句柄,用于存诸相应对象的属性. 例 ...
- WPF学习12:基于MVVM Light 制作图形编辑工具(3)
本文是WPF学习11:基于MVVM Light 制作图形编辑工具(2)的后续 这一次的目标是完成 两个任务. 本节完成后的效果: 本文分为三个部分: 1.对之前代码不合理的地方重新设计. 2.图形可选 ...
- Web报表工具FineReport填报界面键盘操作
2019独角兽企业重金招聘Python工程师标准>>> 对于一张填报数据较多的报表,需要用户频繁地操作鼠标.而FineReport填报界面除去按钮类型的控件,其余可以完全使用键盘而不 ...
- 使用图形编辑框架GEF创建基于Eclipse的应用程序
简介: 了解使用图形编辑框架(Graphical Editing Framework,GEF)创建基于 Eclipse 的应用程序涉及的最初步骤.此外,介绍了目前在 Eclipse 中引导创建图形编辑 ...
- 模拟鼠标键盘操作,含硬件模拟技术。
键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样 ...
- 【自动化测试】Selenium IDE脚本编辑与操作(了解)
之前,我们录制脚本时是录制鼠标和键盘的所有在浏览器的操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所以我们有必要对selenium IDE脚本编辑与操作有所了解:(采用录制的方 ...
- 模拟鼠标键盘操作,含硬件模拟技术。[转]
模拟鼠标键盘操作,含硬件模拟技术. 键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就 ...
- 模拟鼠标键盘操作,含硬件模拟技术
键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样 ...
最新文章
- 开发一个微信小程序贵不贵,需要花费多少钱?
- Py之matplotlibseaborn :matplotlibseaborn绘图的高级进阶之高级图可视化(基础图(直方图等),箱线图、密度图、小提琴图等)简介、案例应用之详细攻略
- k8s节点亲和性:pod和node的亲和性、硬策略、软策略
- 0-MyBatis简介
- 外媒:iPhone 14全系有望配备120Hz ProMotion显示屏
- UVA 1349 Optimal Bus Route Design (二分图最小权完美匹配)
- react 遍历对象_React 和 Vue 之间的相爱相杀
- C语言 笔试 各个字节数,C语言笔试试题及答案
- thinkphp-page
- S32K116使用记录
- 项目管理(PMBOK第六版)常用缩写中英文对照
- win10如何退出微软账户
- 我的世界整合包 云服务器搭建方法(ECS)
- VC++实现局域网嗅探QQ号
- 一个竞赛蒟蒻,开个Blog玩玩
- Windows系统自动切换IP批处理
- vue 批量图片上传
- 全球各国网站后缀(域名)
- Python文件操作数据格式,简单简洁
- 常用maven的依赖坐标