服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++ EasyX学习之鼠标操作详解

C++ EasyX学习之鼠标操作详解

2023-02-24 15:33代码骑士 C/C++

EasyX是针对C/C++的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。本文将为大家详细讲讲EasyX的鼠标操作,需要的可以参考一下

基础代码

C++ EasyX学习之鼠标操作详解

功能:移动画点,左键画方块,右键退出。

#include <graphics.h>
#include <conio.h>

int main()
{
  // 初始化图形窗口
  initgraph(640, 480);

  MOUSEMSG m;        // 定义鼠标消息

  while (true) {
      ExMessage m;//定义一个消息变量
      m = getmessage(EM_MOUSE);//获取鼠标消息
      switch (m.message)
      {
      case WM_MOUSEMOVE:
          // 鼠标移动的时候画红色的小点
          putpixel(m.x, m.y, RED);
          break;

      case WM_LBUTTONDOWN:
          // 画一个小方块
          rectangle(m.x - 5, m.y - 5, m.x + 5, m.y + 5);
          break;

      case WM_RBUTTONUP:
          return 0;    // 按鼠标右键退出程序
      }
  }

  // 关闭图形窗口
  closegraph();
  return 0;
}

输出:

C++ EasyX学习之鼠标操作详解

 

进阶编程

1.jpg:

C++ EasyX学习之鼠标操作详解

2.jpg:

C++ EasyX学习之鼠标操作详解

给鼠标添加标志,按键做出响应。

#include <graphics.h>
#include <conio.h>

int main()
{
  //定义图片变量
  IMAGE move,click;
  // 定义鼠标消息
  MOUSEMSG m;
  // 初始化图形窗口
  initgraph(640, 480);
  int w = 50, h = 50;
  loadimage(&move, _T("1.jpg"), w, h);
  loadimage(&click, _T("2.jpg"), w, h);

  while (true) {
      ExMessage m;//定义一个消息变量
      m = getmessage(EM_MOUSE);//获取鼠标消息
      switch (m.message)
      {
      case WM_MOUSEMOVE:
          // 鼠标移动
          cleardevice();
          putimage(m.x-w/2, m.y-h/2, &move);
          break;

      case WM_LBUTTONDOWN:
          // 鼠标点击
          cleardevice();
          putimage(m.x - w / 2, m.y - h / 2, &click);
          break;

      case WM_RBUTTONUP:
          return 0;    // 按鼠标右键退出程序
      }
  }

  // 关闭图形窗口
  closegraph();
  return 0;
}

输出:

小鸟会根跟随鼠标的位置移动。

C++ EasyX学习之鼠标操作详解

以上就是C++ EasyX学习之鼠标操作详解的详细内容,更多关于C++ EasyX鼠标操作的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/qq_51701007/article/details/125653116

延伸 · 阅读

精彩推荐
  • C/C++C++实现简单贪吃蛇小游戏

    C++实现简单贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C++实现简单贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    纯粹.12232021-11-09
  • C/C++Qt图形图像开发曲线图表模块QChart库基本用法、各个类之间的关系说明

    Qt图形图像开发曲线图表模块QChart库基本用法、各个类之间的关

    这篇文章主要介绍了Qt图形图像开发曲线图表模块QChart库基本用法、各个类之间的关系说明,需要的朋友可以参考下...

    qq_6106428212021-08-23
  • C/C++C++实现接两个链表实例代码

    C++实现接两个链表实例代码

    这篇文章主要介绍了C++实现接两个链表实例代码的相关资料,需要的朋友可以参考下...

    nk_test5382021-05-04
  • C/C++C++第三方日志库Glog的安装与使用介绍

    C++第三方日志库Glog的安装与使用介绍

    这篇文章主要介绍了C++第三方日志库Glog的安装与使用介绍,本文配置所采用的环境为Visual Studio2017,本文通过图文并茂的形式给大家介绍的非常详细,需要的...

    wendy_ya4502022-09-29
  • C/C++C语言实现控制台版贪吃蛇游戏

    C语言实现控制台版贪吃蛇游戏

    这篇文章主要为大家详细介绍了c语言贪吃蛇控制台版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    YiLiuF5532021-12-07
  • C/C++c++中STL库队列详细介绍

    c++中STL库队列详细介绍

    大家好,本篇文章主要讲的是c++中STL库队列详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    ℡2383932022-07-21
  • C/C++单线程会导致死锁你知道吗

    单线程会导致死锁你知道吗

    这篇文章主要为大家详细介绍了单线程会不会导致死锁,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够...

    写代码的篮球球痴5982022-09-26
  • C/C++详解C++ 的STL迭代器原理和实现

    详解C++ 的STL迭代器原理和实现

    这篇文章主要为大家介绍了C++的STL迭代器原理和实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助...

    05jin11252022-08-27