EasyX图形化界面

这里写目录标题

  • EasyX
    • 绘制简单的图形化窗口
    • 窗口坐标
    • 设置窗口属性
    • 实现基本绘图功能
    • 贴图
      • 原样贴图
      • 透明贴图
        • 认识素材
      • 代码步骤
    • 按键交互
      • 阻塞按键
    • 鼠标交互

EasyX

绘制简单的图形化窗口

在这里插入图片描述
代码示例:
在这里插入图片描述
while(1);
可以防止闪屏

窗口坐标

在这里插入图片描述
窗口是有坐标的 横轴x 竖轴y 其中画图形的话 要放入关键的坐标点

设置窗口属性

在这里插入图片描述
给窗口设置颜色 调用函数setbkcolor(颜色单词大写)
可以先写入一个红色 之后右键调出定义页面 就可以看到所以的颜色单词定义
在这里插入图片描述

打开画图 编辑颜色 右下角就是所选颜色RGB 把三个数输入到函数的参数位置就可以
在这里插入图片描述
最后设置完属性要刷新才会显示

要在“关闭”的那行代码之前进行刷新

实现基本绘图功能

在这里插入图片描述
对于线、矩形:一个函数 之后传入四个参数 两两一组 线是两个断点的坐标 矩形是对角线上两个点的坐标
填充圆或者矩形 先设置填充颜色 (各个图形可以共享)

之后设置填充 填充分为带线与不带线

示例:
在这里插入图片描述

案例:
在这里插入图片描述
这里可以设置线的颜色:setlinecolor

贴图

原样贴图

在这里插入图片描述
代码:
在这里插入图片描述
先定义一个IMAGE类型的变量

之后加载图片 loadimage(变量的地址(指针),路径(要修改项目属性),尺寸1,尺寸2)

之后加载图片putimage(位置x坐标,y坐标,变量地址);

补充:修改项目属性为多字集
在这里插入图片描述

透明贴图

在这里插入图片描述

认识素材

不想要的地方是白色 想要的地方是黑色  这就是掩码图
不想要的地方是黑色 这就是背景图

代码步骤

在这里插入图片描述
定义图片变量 加载图片 显示图片

注意第三步 不同的功能图 后面加的代码不一样

按键交互

阻塞按键

小球移动为例(按键控制移动)
在这里插入图片描述
非阻塞按键暂时不考虑

阻塞按键 就是指不进行操作时 坐标物品在原地不动
在这里插入图片描述
在这里插入图片描述

首先定义一个结构体 之后利用结构体变量来创建一个填充圆 可以当作之后要移动的物体
在这里插入图片描述

在这里插入图片描述
这里进行移动算法的编写

采用getch()接收字符 该函数的优点是输入的字符无需回车 就可以被接收进来
需要包含一个头文件

之后利用switch cse语句进行按键判断与操作
在这里插入图片描述
主函数里创建区域

之后一个死循环
{
刷新 保证每次输入后 旧位置的圆点消失 不然不会有移动的效果

画球 也就是设计一个函数 功能是 填充圆(1、设置填充颜色 2、设置带不带线的圆)

调用按键移动
}

之后关闭区域

鼠标交互

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

matlab根轨迹绘制

绘制根轨迹目的就是改变系统的闭环极点,使得系统由不稳定变为稳定或者使得稳定的系统变得更加稳定。 在使用PID控制器的时候,首先要确定的参数是Kp,画成框图的形式如下: 也就是想要知道Kp对系统性能有哪些影响,此时就…

设计模式之代理模式的懂静态代理和动态代理

目录 1 概述1.1 如何实现?1.2 优点1.3 缺点1.4 适用场景 2 静态代理实现3 JDK 动态代理实现4 CGlib 动态代理实现5 总结 1 概述 代理模式(Proxy Pattern)是一种结构型设计模式,它的概念很简单,它通过创建一个代理对象来…

便捷又炸街!Mate 60的智感支付,是如何做到快速又安全的?

扫码支付已成为线下消费的主流付款方式,平时出门,手机一带,钱包拜拜! 以微信支付为例,正常线下支付,手机解锁状态下: 第一步:找到微信APP; 第二步:打开右上…

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…

Nacos注册中心

Nacos 安装 https://nacos.io/zh-cn/ 源码安装 第一步:利用Gitee获取nacos在github上的代码到自己的gitee仓库中 https://github.com/alibaba/nacos.git 第二步:下载源码到本地。 第三步:使用maven编译代码。 # 先切换到master分支 gi…

3 分钟,带你了解低代码开发

一、低代码平台存在的意义 传统软件开发交付链中,需求经过3次传递,用户→业务→架构师→开发,每一层传递都可能使需求失真,导致最终交付的功能返工。 业务的变化促使软件开发过程不断更新、迭代和演进,而低代码开发即是…

vi/vim编辑器

vi和vim区别 vi 和 vim 是常见的文本编辑器,以下是它们之间的区别: 功能和特性: vi 是最早的版本,是在早期Unix系统中广泛使用的编辑器。vi 相对较简单,功能主要集中在基本的文本编辑操作上,如插入、删除、…

Python二级 每周练习题18

练习一: 从键盘输入任意字符串,按照下面要求分离字符串中的字符: 1、分别取出该字符串的第偶数位的元素(提醒注意:是按照从左往右数的方式确定字符串的位置) 2、并依次存储到一个列表中; 3、输出这个列表。 答案: ninput(请输入任意字符串:) #创建变量n存放用户…

TGA格式文件转材质

今天淘宝上买了一个美女的模型,是blender的源文件,上面说有fbx格式的。我用unity,所以觉得应该可以用。文件内容如下图: FBX文件夹打开后,内容如下图所示,当时就预感到可能没有色彩。 unity打开后果然发现只…

vue3+scss开启写轮眼

vue3scss开启写轮眼 一、相关技术二、使用步骤1.安装依赖2.眼球3 勾玉4 旋转动画5 综合 一、相关技术 采用vue3vitescss的技术内容进行开发 二、使用步骤 1.安装依赖 代码如下: npm install sass2.眼球 首先我们根据需要 将眼睛的基础形状描绘出来&#xff0c…

Java-day14(多线程)

多线程 0.基本概念 程序:为完成特定任务,用某种编程语言编写的一组指令的集合(静态) 进程:程序的一次执行过程,或正在执行的一个程序(动态过程) 线程:程序内部的一条…

CSS文字居中对齐学习

CSS使用text-align属性设置文字对齐方式&#xff1b;text-align:center&#xff0c;这样就设置了文字居中对齐&#xff1b; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>css 水平居中</title><style>.box …