Eaxyx 让圆球跟随鼠标移动

如果出现2023,代表配置成功:

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

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

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

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

我们需写如下代码:

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

但是千万不要这样写:

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

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

 写如下代码:

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

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

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

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

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

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

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

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

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

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

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

渲染缓冲区

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

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

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

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

逻辑

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

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

相关文章

AIGC: 关于ChatGPT中的核心API调用示例

Open AI 的 api 调用示例 API的调用的文档:https://platform.openai.com/docs/api-reference/introductionChatGPT官方提供了 Python版的包 和 Nodejs版的包 $pip install openai$npm install openai 我们使用 python3.8版本来安装: $sudo python3.8 -m pip instal…

数据结构算法-冒泡排序算法

引言 虽然选择排序好用 ,但有点问题 也就是频繁找最大值下标 放到 未排序的后面 因为每次需要扫描整个未排序序列,找到最大值或最小值的下标,并将其交换到未排序序列的最后一个位置。这样做的问题在于,在后面的迭代中&#xff0c…

C# WPF上位机开发(计算器界面设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 c# wpf最大的优势就是开发业务软件比较快、效率比较高。一般来说,它的界面和逻辑部分可以同时开发。界面的部分用xaml编写即可&#xf…

Spring Framework详解

学习目标 能够说出Spring的体系结构 能够编写IOC入门案例 能够编写DI入门案例 能够配置setter方式注入属性值 能够配置构造方式注入属性值 能够理解什么是自动装配 一、Spring简介 1 Spring课程介绍 问题导入 我们为什么要学习Spring框架? 1.1 为什么要学 Spri…

Nat. Mach. Intell. | 预测人工智能的未来:在指数级增长的知识网络中使用基于机器学习的链接预测

今天为大家介绍的是来自Mario Krenn团队的一篇论文。一个能够通过从科学文献中获取洞见来建议新的个性化研究方向和想法的工具,可以加速科学的进步。一个可能受益于这种工具的领域是人工智能(AI)研究,近年来科学出版物的数量呈指数…

数据结构—两个有序单链表的合并排序算法

viod merge(LNode *A,LNode *B){ LNode *C;//新节点 LNode *p C;//辅助指针 while(A->next !null && B->next !null){ if(A->next->data > B->next->data){//A节点大 p->nextA->next;//A元素插入C AA>next; pp->next; }else{ p->…

如何选择适合的光电传感器与 STM32 微控制器进行接口设计

本文介绍了如何选择适合的光电传感器与 STM32 微控制器进行接口设计的方法。首先我们将介绍一些选择光电传感器的关键因素,包括测量范围、响应时间、分辨率和输出类型。然后我们将介绍如何根据所选传感器的特性进行硬件连接和接口设计。最后,我们将提供示…

机器学习在缺陷检测中的实际效果与应用案例

机器学习在缺陷检测中的实际效果与应用案例 机器学习在缺陷检测中的应用已经变得非常广泛,并且在许多行业中都得到了实践验证。通过使用机器学习算法,我们能够训练模型来自动检测产品或过程中的缺陷,从而提高生产效率,降低人工检…

项目开发维护技术文档(总结梳理)

目录 一、项目背景 二、架构设计 1.技术栈 2.架构图 3.代码结构 三、模块划分 1.用户模块 2.商品模块 四、开发规范 1.命名规范 2.代码格式 3.版本控制 五、部署流程 1.环境要求 2.部署流程 六、问题解决 1.数据库连接异常 2.Redis缓存失效 七、参考资料 项…

同旺科技 USB TO SPI / I2C --- 调试W5500

所需设备: 内附链接 1、USB转SPI_I2C适配器(专业版); 首先,连接W5500模块与同旺科技USB TO SPI / I2C适配器,如下图: 读取重试时间值寄存器,默认值0x07D0 输出结果与默认值一致,芯片基本功能已经调通&am…

go自定义端口监听停用-------解决端口被占用的问题

代码 package mainimport ("fmt""log""net""os/exec""strconv""strings" )func getSelect(beign int, end int) int {var num intfor {_, err : fmt.Scan(&num)if err ! nil {fmt.Println("输入错误&am…

2、RocketMQ源码分析(二)

RocketMQ的底层通信模块remoting remoting是RocketMQ的底层通信模块,RocketMQ底层通讯是使用Netty来实现的。本文通过对remoting源码进行分析,来说明remoting如何实现高性能通信的。 二、Remoting 通信模块结构 remoting 的网络通信是基于 Netty 实现&…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《市场环境下运行的光热电站子系统容量优化配比研究》

这个标题涉及到对市场环境下运行的光热电站子系统进行容量优化配比的研究。让我们逐步解读: 市场环境下运行的光热电站: 这指的是光热电站在实际市场环境中的运行,可能包括了市场相关的经济、政策、竞争等因素。 子系统: 光热电站…

十六进制数列求和

高精度数组的集大成 做的时候在和高中同学叙叙旧&#xff0c;差点寄掉 代码如下&#xff1a; #include<stdio.h> void expand(int len); const char hexadecimal[17] "0123456789ABCDEF"; int result[20], mid[20], l_result[100];int main(void) {char tm…

你好!二分查找【JAVA】

1.初次相识 二分查找又称折半查找&#xff0c;是一种在有序数组中查找特定元素的算法。二分查找的基本思想是&#xff1a;通过不断地二分数组的中间元素&#xff0c;缩小查找区间&#xff0c;直到找到目标元素或者确定目标元素不存在为止。 二分查找的时间复杂度为O(logn)&…

docker配置redis主从、哨兵集群

搭建redis主从 准备工作 在/usr/local/software/redis/文件夹下建立如下的文件夹、文件 rootlocalhost redis]# mkdir -p 6379/conf 6379/data 6379/log [rootlocalhost redis]# mkdir -p 6380/conf 6380/data 6380/log [rootlocalhost redis]# mkdir -p 6381/conf 6381/…

Kubernetes集群部署—部署Worker节点(四)

文章目录 1、创建工作目录并拷贝二进制文件2 部署kubelet &#xff08;master节点操作&#xff09;2.1 创建配置文件2.2 配置参数文件2.3 生成bootstrap.kubeconfig文件2.4 systemd管理kubelet2.5 启动并设置开机启动 3 批准kubelet证书申请并加入集群4 部署kube-proxy &#x…

如何创建一个vue工程

1.打开vue安装网址&#xff1a;安装 | Vue CLI (vuejs.org) 2.创建一个项目文件夹 3.复制地址 4.打开cmd&#xff0c;进入这个地址 5.复制粘贴vue网页的安装命令 npm install -g vue/cli 6.创建vue工程 vue create vue这里可以通过上下键来进行选择。选最后一个选项按回车。 …

根文件系统构建-编译busybox

一. 简介 本文对 busybox进行编译。 本文继上一篇busybox配置&#xff0c;地址如下&#xff1a; 根文件系统构建-对busybox进行配置-CSDN博客 二. 根文件系统构建-编译busybox源码 1. 修改 Makefile&#xff0c;添加编译器 同 Uboot 和 Linux 移植一样&#xff0c;打开…

制作一个RISC-V的操作系统-环境搭建

文章目录 前言环境搭配 前言 由于之前的操作系统反馈难度太大&#xff0c;所以准备从这个RISC-V操作系统出发&#xff0c;以后知识层面更加深入再去完善。 环境搭配 按照依赖项 $ sudo apt update $ sudo apt install build-essential gcc make perl dkms git gcc-riscv64-…