easyx图形编辑--键盘操作

简介: easyx图形编辑--键盘操作

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

今天我们来学一下如何在easyx窗口中使用键盘操作

用于接收键盘信息的函数有两个:

getch()                  //需要包含头文件
GetAsyncKeyState()  //需要包含头文件

然后就是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;                          

相关文章
|
8月前
|
存储 机器学习/深度学习 人工智能
Qt魔法书:打造自定义鼠标键盘脚本(二)
Qt魔法书:打造自定义鼠标键盘脚本
233 0
|
8月前
|
存储 缓存
LabVIEW显示缓冲区分配窗口
LabVIEW显示缓冲区分配窗口
84 2
|
8月前
LabVIEW数字控件的键盘对话框
LabVIEW数字控件的键盘对话框
68 0
|
8月前
|
开发框架 Linux API
Qt魔法书:打造自定义鼠标键盘脚本(一)
Qt魔法书:打造自定义鼠标键盘脚本
92 0
尝试用easyx窗口实现鼠标的操作
尝试用easyx窗口实现鼠标的操作
185 0
|
搜索推荐
LabVIEW设计自定义指示灯和按钮控件
LabVIEW中提供了很多内置的指示灯和按钮控件,可以实现状态的切换和控制,效果如下图所示:
EasyX添加图片+鼠标操作
EasyX添加图片+鼠标操作
213 0
PS实用技巧:用原始图片制作显示(正常状态)、鼠标悬浮(hover)、鼠标点击(pressed)的方法
PS实用技巧:用原始图片制作显示(正常状态)、鼠标悬浮(hover)、鼠标点击(pressed)的方法
PS实用技巧:用原始图片制作显示(正常状态)、鼠标悬浮(hover)、鼠标点击(pressed)的方法
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(二)
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(二)
198 0
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(二)
|
Shell
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(一)
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(一)
537 0
【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )(一)

热门文章

最新文章