C++ Easyx 让圆球跟随鼠标移动

目录

下载Easyx

 检验

绘制窗口

画圆

响应事件的处理

清除原先绘图

渲染缓冲区

逻辑

代码托管


下载Easyx

在Easyx官网下载大暑版:

 检验

写如下代码:

编译运行,如果控制台出现2023字样,代表配置成功:

绘制窗口

进入Eaxy官方网站,点击文档:

选择 函数->绘图函数->initgraph:

可以看见initgraph()函数有如下三个参数:

现在我们想生成一个1280*720大小的窗口:

我们需写如下代码:

但是此时运行窗口会一闪而逝,我们需要把它写在循环里。

但是千万不要这样写:

会卡爆的要这样写:这样我们就可以得到一个1280*720的窗口了:

画圆

在文档->图形绘制相关函数下找到soildcircle()函数。

 写如下代码:

响应事件的处理

接下来我们要对鼠标响应事件进行处理,让圆球跟着我们的鼠标移动。

在文档->消息处理相关函数中有一个peekmessage()函数,用于获取消息。

按下键盘的按钮,鼠标的移动和单击等等我们都称之为一个消息当我们触发这些消息时,eaxy会把这些消息放到消息队列中:

如果peekmessage()函数可以从消息队列中拉取到数据,那么就会返回true:

反之,如果没有消息可以拉取,就会返回false:

文档->消息处理相关函数中有一个ExMessage()函数:

ExMessage的成员有一个   标识鼠标移动的 消息标识:          

因此我们可以写一段这样的代码:

 但是运行之后鼠标移动会变为如下所示:

原因是我们没有把原先位置的圆擦除掉。

清除原先绘图

   在Eaxyx文档->绘图设备相关函数中有一个 cleardevice()函数:我们在每次绘制圆之前清空一下之前画的圆就行了:

渲染缓冲区

这个是我们的1280*720的窗口:

 调用  cleardevice()函数清除图形:

而我们调用了BeginBatchDraw()函数就会再创建一个画布,这个画布默认是不可见的,接下来再画圆就把这个圆绘制在新画布上:

等圆画好后再调用  FlushBatchDraw()和  EndBatchDraw()函数把新画布换到显示可见:

逻辑

代码托管

圆球跟随鼠标移动/Test.cpp · 孙鹏宇/孙鹏宇的第一个仓库 - 码云 - 开源中国 (gitee.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215671.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

51单片机项目(20)——基于51单片机的电机速度PID控制

1.功能设计 使用51单片机,控制电机速度,用了PID算法。有数码管显示实时速度,可以用按键设定速度。数码管也显示设定的预期速度。另外,还可以控制电机的换向和启停。 2.仿真图 3.PID算法介绍 PID算法,即Proportional-I…

【cmake】获取到某个目录下的所有子目录名

整体工程目录结构如下。现打算获取到vac目录下的所有子目录名。 cmake 实现如下: # 设定要遍历的目录,保存到 VAC_INCLUDE_DIR 变量 set(VAC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/vac)# 获取到当前目录下的所有文件和目录(以相对路径的方式)&a…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日,Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

2023-简单点-树莓派中的硬件通讯

树莓派中的通讯方式 串口通讯什么是串口通讯?串口设备的格式串口通讯的特点 tips并行通讯?基于网络的通讯?socket通讯 串口通讯 什么是串口通讯? 串行通信每次传输一个位元数据,并在连续进行单次过程的基础上进行通信。根据数据…

windows 11 家庭版怎样安装docker

这里写自定义目录标题 一、安装wsl1、开启硬件虚拟化2、安装wsl3.升级WSL到WSL24、下载安装linux分支5、测试运行6、出现如下问题7、迁移到非系统盘8、文件资源管理器9、配置网络10、更新和升级 一、安装wsl 1、开启硬件虚拟化 检查是否开启Hyper-V, 适用于Linux的Windows子系…

揭秘:大厂设计师是如何制定UI风格的?

当你碰到一个新的项目或产品战略需要进行重大的改变时,作为UI设计师,你要如何重新思考产品的视觉风格?从何处开始?存在哪些重要注意点?今天我们有幸请到Pixso的设计师,他们将以出租车应用程序的风格设计过程…

142873-41-4脂质过氧化抑制剂1-星戈瑞

142873-41-4脂质过氧化抑制剂1 英文名称:Lipid peroxidation inhibitor 1 中文名称:脂质过氧化抑制剂 化学名称:2,4,6,7-四甲基-2-[(4-苯基哌啶-1-基)甲基]-3H-1-苯并呋喃-5-胺 CAS:142873-41-4 外观:固体粉末 分…

Flume 安装部署

文章目录 Flume 概述Flume 安装部署官方网址下载安装配置文件启动 Flume 进程启动报错输出文件乱码问题 Flume 概述 Flume(Apache Flume)是一个开源的分布式日志收集、聚合和传输系统,属于 Apache 软件基金会的项目之一。其主要目标是简化大…

二叉查找树和红黑树

二叉搜索树又叫二叉查找树、二叉排序树,我们先看一下典型的二叉搜索树,这样的二叉树有何规则特点呢? 1.节点的左子树小于节点本身; 2.节点的右子树大于节点本身; 3.左右子树同样为…

SAP_ABAP_内表数据重复问题,解决思路

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读516次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/j…

【蓝桥杯】二分查找

二分查找 题目描述 输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_{n} a1​,a2​,…,an​,然后进行 m m m 次询问。对于每次询问,给出一…

C#中GDI+图形图像技术(Graphics类、Pen类、Brush类)

目录 一、创建Graphics对象 1.创建Pen对象 2.创建Brush对象 (1)SolidBrush类 (2)HatchBrush类 ​​​​​​​(3)LinerGradientBrush类 用户界面上的窗体和控件非常有用,且引人注目&#…

全球与中国工业冰箱市场:增长趋势、竞争格局与前景展望

工业制冷机是用来维持储运容器内低温冷藏环境,以防止食品饮料、药品、化学品等对温度敏感的产品腐败变质的系统。此外,冷冻机、热交换器等冷冻系统也用于在工业机械运作过程中保持冷却。工业冷冻系统的需求成长主要是由食品和饮料产业的成长所推动的。 冷…

成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)

分类问题的评估是看实际类别和预测类别是否一致,它的评估指标主要有混淆矩阵、AUC、KS。回归问题的评估是看实际值和预测值是否一致,它的评估指标包括MAE、MSE、RMSE、R方。 如果我们预测第二天某支股票的价格,给一个模型 y1.5x,…

Python+OpenCV实现最强自动扫雷

文章目录 准备实现思路窗体截取雷块分割雷块识别扫雷算法实现关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 用…

【C++初阶】六、类和对象(初始化列表、static成员、友元、内部类)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】五、类和对象 (日期类的完善、流运算符重载函数、const成员、“&”取地址运算符重载)-CSDN博客 目录 ​​​​​​​一 . 初始化列表 构造函数…

涵盖多种功能,龙讯旷腾Module第三期:光、磁、力学和极化性质

Module是什么 在PWmat的基础功能上,我们针对用户的使用需求开发了一些顶层模块(Module)。这些Module中的一部分是与已有的优秀工具的接口,一部分是以PWmat的计算结果为基础得到实际需要的物理量,一部分则是为特定的计…

孩子都能学会的FPGA:第二十课——用FPGA实现定点数的开方运算

(原创声明:该文是作者的原创,面向对象是FPGA入门者,后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门,作者不光让大家知其然,还要让大家知其所以然!每个工程作者都搭建了全自动化的仿…

Cysteine Protease inhibitor半胱氨酸蛋白酶抑制剂

Cysteine Protease inhibitor 半胱氨酸蛋白酶抑制剂 921625-62-9 英文名称:Cysteine Protease inhibitor 中文名称:半胱氨酸蛋白酶抑制剂 化学名称:5-氨基-3-苯基-1,2,4-噻二唑 CAS:921625-62-9 外观:固体粉末 分子…

如何打印社保参保凭证

西安市: 陕西政务服务网: 个人服务 珠海市: 广东政务服务网: 用户登录 | 珠海市人力资源和社会保障网上服务平台 武汉市: 湖北政务服务网: 湖北政务服务网