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语言实现为无声avi视频添加wave音乐

    C语言实现为无声avi视频添加wave音乐

    这篇文章主要为大家详细介绍了C语言如何实现为无声avi视频添加wave音乐,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以了解一下
    2023-11-11
  • 简述C++中虚拟函数的内存分配机制

    简述C++中虚拟函数的内存分配机制

    这篇文章主要介绍了简述C++中虚拟函数的内存分配机制,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • C++线程优先级SetThreadPriority的使用实例

    C++线程优先级SetThreadPriority的使用实例

    这篇文章主要介绍了C++线程优先级SetThreadPriority的使用实例,较为详细的讲述了C++线程及其优先级的用法,需要的朋友可以参考下
    2014-10-10
  • C语言实现打砖块游戏

    C语言实现打砖块游戏

    这篇文章主要为大家详细介绍了C语言实现打砖块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C语言每日练习之二叉堆

    C语言每日练习之二叉堆

    这篇文章主要为大家介绍了C语言二叉堆,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 利用mmap实现文件拷贝功能

    利用mmap实现文件拷贝功能

    这篇文章主要为大家详细介绍了利用mmap实现文件拷贝功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C语言实现拼图游戏

    C语言实现拼图游戏

    这篇文章主要为大家详细介绍了C语言实现拼图游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C++ 中try finally关键字详解

    C++ 中try finally关键字详解

    本文给大家介绍C++ 中try finally关键字的相关知识,非常不错,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • MFC框架之OnIdle案例详解

    MFC框架之OnIdle案例详解

    这篇文章主要介绍了MFC框架之OnIdle案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C++中cout输出中文信息乱码问题及解决

    C++中cout输出中文信息乱码问题及解决

    这篇文章主要介绍了C++中cout输出中文信息乱码问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论