(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

今天我们来学一下如何在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图形编辑--键盘操作相关推荐

  1. 初识EasyX图形编程

    相关视频--[C/C++/EasyX]学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 我的小站--半生瓜のblog,同步更 ...

  2. 8.1 matlab图形窗口与坐标轴(图形对象的句柄和属性、坐标轴的操作、图形窗口的操作)

    1.图形对象的句柄 (1)句柄的概念 在MATLAB中,用句柄来标识对象,通过句柄来访问相应对象的属性:在MATLAB系统中建立-个对象,系统就会建立-个映射该对象的句柄,用于存诸相应对象的属性. 例 ...

  3. WPF学习12:基于MVVM Light 制作图形编辑工具(3)

    本文是WPF学习11:基于MVVM Light 制作图形编辑工具(2)的后续 这一次的目标是完成 两个任务. 本节完成后的效果: 本文分为三个部分: 1.对之前代码不合理的地方重新设计. 2.图形可选 ...

  4. Web报表工具FineReport填报界面键盘操作

    2019独角兽企业重金招聘Python工程师标准>>> 对于一张填报数据较多的报表,需要用户频繁地操作鼠标.而FineReport填报界面除去按钮类型的控件,其余可以完全使用键盘而不 ...

  5. 使用图形编辑框架GEF创建基于Eclipse的应用程序

    简介: 了解使用图形编辑框架(Graphical Editing Framework,GEF)创建基于 Eclipse 的应用程序涉及的最初步骤.此外,介绍了目前在 Eclipse 中引导创建图形编辑 ...

  6. 模拟鼠标键盘操作,含硬件模拟技术。

    键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样 ...

  7. 【自动化测试】Selenium IDE脚本编辑与操作(了解)

    之前,我们录制脚本时是录制鼠标和键盘的所有在浏览器的操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所以我们有必要对selenium IDE脚本编辑与操作有所了解:(采用录制的方 ...

  8. 模拟鼠标键盘操作,含硬件模拟技术。[转]

    模拟鼠标键盘操作,含硬件模拟技术. 键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就 ...

  9. 模拟鼠标键盘操作,含硬件模拟技术

    键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样 ...

最新文章

  1. 开发一个微信小程序贵不贵,需要花费多少钱?
  2. Py之matplotlibseaborn :matplotlibseaborn绘图的高级进阶之高级图可视化(基础图(直方图等),箱线图、密度图、小提琴图等)简介、案例应用之详细攻略
  3. k8s节点亲和性:pod和node的亲和性、硬策略、软策略
  4. 0-MyBatis简介
  5. 外媒:iPhone 14全系有望配备120Hz ProMotion显示屏
  6. UVA 1349 Optimal Bus Route Design (二分图最小权完美匹配)
  7. react 遍历对象_React 和 Vue 之间的相爱相杀
  8. C语言 笔试 各个字节数,C语言笔试试题及答案
  9. thinkphp-page
  10. S32K116使用记录
  11. 项目管理(PMBOK第六版)常用缩写中英文对照
  12. win10如何退出微软账户
  13. 我的世界整合包 云服务器搭建方法(ECS)
  14. VC++实现局域网嗅探QQ号
  15. 一个竞赛蒟蒻,开个Blog玩玩
  16. Windows系统自动切换IP批处理
  17. vue 批量图片上传
  18. 全球各国网站后缀(域名)
  19. Python文件操作数据格式,简单简洁
  20. 常用maven的依赖坐标

热门文章

  1. SQLyog的快捷键大全
  2. 鸿蒙幼儿园胡艳玲,幼儿园招教中班主题《小鸟,你好!》教案
  3. 将oracle端口1521共享_Oracle 开放端口1521 给局域网ip
  4. VUE CSS流动边框特效(一)
  5. Java解码vhd的磁盘文件,vhd镜像格式及vhd-util工具应用
  6. springboot配置中心
  7. redis命令之哈希表类型hincrby命令用法详情
  8. 入耳式蓝牙耳机哪款音质好?入耳式降噪蓝牙耳音质排行榜
  9. AssetManager回顾
  10. Android虚拟机打不开解决方法