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)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flink进阶】-- Flink kubernetes operator 快速入门与实战

1、课程目录 2、课程链接 https://edu.csdn.net/course/detail/38831

代码随想录第二十三天(一刷C语言)|组合总数组合总数II分割回文串

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。 一、组合总数 思路:参考carl文档 定义两个全局变量,二维数组result存放结果集,数组path存放符合条件的结果。(这两个变量可以作为函数参数传入…

【电机控制】PMSM无感foc控制(五)相电流检测及重构 — 单电阻采样

0. 前言 相电流采样再FOC控制中是一个关键的环节,鉴于成本和易用性,目前应用较多的相电流采样方式是分流电阻采样,包括单电阻、双电阻以及三电阻采样法。 本章节先讲解单电阻采样相电流的检测及重构技术,在下一章讲解双电阻和三电…

使用postman请求x5接口

x5接口简介 1.接口样例 {"header"{"appid":"bpmnew_fanwei","sign":"C033162E86E4CADE80C7EB44D68A5AD2","sign_type":"md5","url":"https://oa.mioffice.cn/api/bpm/xm/app/show/tod…

预约按摩小程序有哪些功能特点?

随着科技的飞速发展,我们的生活方式发生了翻天覆地的变化。现在,只需动动手指,就能解决许多生活中的问题。同城预约上门按摩小程序,就是这样一个方便、快捷的解决方案。 在忙碌的生活中,身心疲惫的人们急需一种快速有效…

代码签名证书的作用

代码签名证书也是一种数字证书,它主要用于证明软件的来源和完整性。通过使用这种证书,开发者可以在发布软件时对其代码进行数字签名,以确保用户下载的是未经篡改的原始版本。 代码签名证书通过数字签名技术,为软件添加了一个数字签…

蓝桥杯每日一题2023.12.4

题目描述 竞赛中心 - 蓝桥云课 (lanqiao.cn) 题目分析 本题使用树型DP,蓝桥杯官网出现了一个点的错误,但实际答案是正确的 状态表示:f[u]:在以u为根的子树中包含u的所有联通块的权值的最大值 假设s1,s2,…sk 是u的…

动能资讯 | 智能音箱—万物物联新纽带

音箱市场在过去几年经历了显着的增长,这主要得益于数字音乐的普及和技术创新的推动。随着语音助手技术的发展,智能音箱如Amazon Echo、Google Home、Apple HomePod等逐渐成为市场中的热点。这些音箱不仅提供音频播放功能,还整合了语音识别和智…

【PyTorch】softmax回归

文章目录 1. 模型与代码实现1.1. 模型1.2. 代码实现 2. Q&A 1. 模型与代码实现 1.1. 模型 背景 在分类问题中,模型的输出层是全连接层,每个类别对应一个输出。我们希望模型的输出 y ^ j \hat{y}_j y^​j​可以视为属于类 j j j的概率,然…

关于你对 Zookeeper 的理解

看看普通人和高手是如何回答这个问题的? 普通人 Zookeeper 是一种开放源码的分布式应用程序协调服务 是一个分布式的小文件存储系统 一般对开发者屏蔽分布式应用开发过过程种的底层细节 用来解决分布式集群中应用系统的一致性问题 高手 对于 Zookeeper 的理解…

win10使用copilot(尝试中)

一、 Microsoft account | Sign In or Create Your Account Today – Microsoft 一路next全部点好【1】 二、 查看当前win10的版本,cmd输入命令winver 三、 修改区域为美国 四、更新和安全 Reference 【1】完美|在 Win10 强行开启 Win11 的独有功能…

IDEA2023找不到 Allow parallel run

我的idea版本:2023.1.4 第一步:点击Edit Configrations 第二步:点击Modify options 第三步:勾选Allow multiple instances 最后点击Apply应用一下 ok,问题解决!

COMP4121Advanced Algorithms

COMP4121Advanced Algorithms WeChat:yj4399_ Sina Visitor System

使用凌鲨进行内网穿透

为了方便在本地进行开发和调试工作,有时候需要安全地连接内网或Kubernetes集群中的服务。 在net proxy server中可以限制访问用户,也可以设置端口转发的密码。 使用 连接端口转发服务 列出可转发端口 可转发端口是服务端设置的,不会暴露真…

开会做笔记的时候用什么软件比较好?

在工作生涯中,会经历很多大大小小的会议,而如何快速准确记录下会议上重要的内容,成了很多上班族的必修课。在会上做笔记,选择什么样的工具才能事半功倍,成了一个值得深思的问题。而经过一段时间的测评后,我…

策略梯度简明教程

策略梯度方法 (PG:Policy Gradient) 是强化学习 (RL:Reinforcement Learning) 中常用的算法。 1、从库里的本能开始 PG的原理很简单:我们观察,然后行动。人类根据观察采取行动。 引用斯蒂芬库里的一句话: 你必须依靠…

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

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

UiPath学习笔记

文章目录 前言RPA介绍UiPath下载安装组件内容 前言 最近有一个项目的采集调研涉及到了客户端的采集,就取了解了一下RPA和UIPATH,记录一下 RPA介绍 RPA(Robotic Process Automation:机器人处理自动化),是…

Ubuntu systemd-analyze命令(系统启动性能分析工具:分析系统启动时间,找出可能导致启动缓慢的原因)

文章目录 Ubuntu systemd-analyze命令剖析目录简介systemd与systemd-analyze工作原理 安装和使用命令参数详解用例与示例显示启动时间(systemd-analyze time)返回信息解读 列出启动过程中各个服务的启动时间(systemd-analyze blame&#xff0…

OpenCvSharp从入门到实践-(06)创建图像

目录 1、创建图像 1.1实例1-创建黑色图像 1.2实例2-创建白色图像 1.3实例3-创建随机像素的雪花点图像 2、图像拼接 2.1水平拼接图像 2.2垂直拼接图像 2.3实例4-垂直和水平两种方式拼接两张图像 在OpenCV中,黑白图像其实就是一个二维数组,彩色图像…