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

 更新时间:2022年07月07日 14:25:25   作者:代码骑士  
EasyX是针对C/C++的图形库,可以帮助使用C/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;
}

输出:

进阶编程

1.jpg:

2.jpg:

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

#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++查询最短路径示例

    c++查询最短路径示例

    这篇文章主要介绍了c++查询最短路径示例,需要的朋友可以参考下
    2014-05-05
  • C语言实现像素鸟游戏

    C语言实现像素鸟游戏

    这篇文章主要为大家详细介绍了C语言实现像素鸟游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C语言形参和实参的区别详解

    C语言形参和实参的区别详解

    在函数定义和调用过程中,形参和实参是非常重要的概念,本文主要介绍了C语言形参和实参的区别,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05
  • 一起来学习C++中类的this指针以使用

    一起来学习C++中类的this指针以使用

    这篇文章主要为大家详细介绍了C++中类的this指针以使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • C语言中一些将字符串转换为数字的函数小结

    C语言中一些将字符串转换为数字的函数小结

    这篇文章主要介绍了C语言中一些将字符串转换为数字的函数小结,分别为atoi()函数和atol()函数以及atof()函数,需要的朋友可以参考下
    2015-08-08
  • c语言全局变量和局部变量问题及解决汇总

    c语言全局变量和局部变量问题及解决汇总

    局部变量能否和全局变量重名,如何引用一个已经定义过的全局变量,全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?,接下来为您一一介绍
    2013-01-01
  • 基于C++ cin、cin.get()、cin.getline()、getline()、gets()函数的使用详解

    基于C++ cin、cin.get()、cin.getline()、getline()、gets()函数的使用详解

    学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结
    2013-05-05
  • EasyC++ 右值引用

    EasyC++ 右值引用

    这篇文章主要介绍了C++ 右值引用,右值引用指的是以引用传递(而非值传递)的方式使用 C++ 右值,下面文章将对此详细介绍,需要的朋友可以参考一下,希望对你有所帮助
    2021-12-12
  • Qt网络编程实现TCP通信

    Qt网络编程实现TCP通信

    这篇文章主要为大家详细介绍了Qt网络编程实现TCP通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言实现三子棋小游戏的示例代码

    C语言实现三子棋小游戏的示例代码

    这篇文章主要介绍了如何通过C语言实现三子棋小游戏,三子棋小游戏的实现主要依赖于循环语句、函数和数组,感兴趣的小伙伴可以尝试一下
    2022-10-10

最新评论