C++之Easyx——图形库的基本功能(1):界面操作

news2024/12/24 11:29:14

最近,我觉得使用控制台编写游戏太没意思了!!

所以我开始研究图形库了~

一、setinitmode

        函数定义

void EGEAPI setinitmode(int mode, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT); //设置初始化模式,mode=0为普通,1为无边框窗口,xy是初始窗口坐标

        使用说明

void EGEAPI setinitmode(无边框模式是否开启, 图形界面的初始x坐标, 图形界面的初始y坐标); //设置初始化模式,mode=0为普通,1为无边框窗口,xy是初始窗口坐标

初始化图形界面的有无边框(0没有,1有)和x、y坐标。

二、initgraph

        函数定义

void EGEAPI initgraph(int Width, int Height, int Flag);        // 初始化图形环境
// Debug 配置下默认不显示 LOGO,Release 模式下默认显示。
#if !defined(NDEBUG) || defined(DEBUG) || defined(_DEBUG)
inline void EGEAPI initgraph(int Width, int Height) {
	initgraph(Width, Height, getinitmode());
}
#else
inline void EGEAPI initgraph(int Width, int Height) {
	initgraph(Width, Height, getinitmode()|INIT_WITHLOGO);
}

         使用说明

initgraph(x, y, 类型)

创建一个长x、高y的图形界面。

(当然,类型也可以不填)

但是不是使用了initgraph就会出现一个图形界面不动的,它会随着代码变化。所以必须在程序结束后使用Sleep或system("pause")暂停一下或是等待,还有一个函数,待会儿会讲。

                 类型

enum initmode_flag {
	INIT_DEFAULT        = 0x0,
	INIT_NOBORDER       = 0x1,
	INIT_CHILD          = 0x2,
	INIT_TOPMOST        = 0x4,
	INIT_RENDERMANUAL   = 0x8,
	INIT_NOFORCEEXIT    = 0x10,
	INIT_UNICODE        = 0x20,
	INIT_WITHLOGO       = 0x100,
	INIT_ANIMATION      = INIT_DEFAULT | INIT_RENDERMANUAL | INIT_NOFORCEEXIT,
};

INIT_DEFAULT 默认参数,这与我们不填任何参数是一样的。(NULL)

类型代码以及含义
代码释义

INIT_NOBORDER 

没有标题栏,无框窗口

INIT_CHILD

 (其实我还不知道,反正翻译出来是初始化小朋友)

INIT_TOPMOST 

生成在最顶端,不可被其他窗口覆盖

INIT_RENDERMANUAL

手动渲染模式

INIT_NOFORCEEXIT

使用者不可以强制退出
INIT_UNICODE 允许使用UNICODE码UTF - 8

 INIT_WITHLOGO

 显示出场动画:

INIT_ANIMATION ......(你懂的,I Do Not Know

如果想要同时使用两个或多个模式,只需要用或(|)即可。

三、setcaption

        函数定义

void EGEAPI setcaption(LPCSTR  caption);

        使用说明

void EGEAPI setcaption(图形界面标题栏标题);

一般的图形界面标题是EGE20.08 GCC9.2x86,担setcaption可以更改图形库标题。

                示例程序

#include <graphics.h>
using namespace std;

int main(void)
{
	initgraph(250, 250);
	setcaption("快乐星空Test");
	system("pause");
	return 0;
}

四、movewindow

        函数定义

void EGEAPI movewindow(int x, int y, bool redraw = true);	//移动窗口

        使用说明

void EGEAPI movewindow(把图形界面移到x坐标, 把图形界面移到y坐标);	//移动窗口

把图形界面移到(x, y)坐标。

五、getch

        函数定义

int EGEAPI getch();

        使用说明

int EGEAPI getch();

是不是很熟系?其实这就≈conio.h里面的_getch(),意思是按一下任意键继续。所以在使用graphics.h时使用conio.h是不可能的!

六、closegraph

        函数定义

​void EGEAPI closegraph();

        使用说明

void EGEAPI closegraph();

关闭图形界面。(其实我觉得直接return也可以)

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

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

相关文章

公司网站建设费用怎么算,花销影响因素有哪些?

企业网站建设成本如何计算&#xff1f; 建立一个网站需要多少钱&#xff1f; 这个问题的答案并不容易说出来。 一般来说&#xff0c;网站建设分为模板网站和定制网站。 如果想要价格低廉&#xff0c;就选择模板建站&#xff0c;如果想要强大的推广营销功能&#xff0c;就选择定…

【数据库】达梦数据库DM8开发版安装

目录 一、达梦数据库概述 1.1 达梦数据库简介 1.2 产品特性 1.3 产品架构 二、安装前准备 2.1 新建 dmdba 用户 2.2 修改文件打开最大数 2.3 挂载镜像 2.4 新建安装目录 2.5 修改安装目录权限 三、数据库安装 3.1 命令行安装 3.2 配置环境变量 四、配置实例 4.1…

OLED透明屏厂家:开启2024年新征程

随着科技的不断进步和创新&#xff0c;OLED透明屏作为一种前沿的显示技术&#xff0c;正逐渐走进人们的视野&#xff0c;成为多个领域的焦点。在2024年2月21日这个特殊的日子&#xff0c;我们这家领先的OLED透明屏厂家正式开工&#xff0c;预示着我们将迎来一个充满机遇和挑战的…

二建过来人的大实话,信息闭塞真的很致命!

球球了&#xff0c;别像个大冤种一样&#xff0c;还没了解清楚就开始盲目的备考&#xff0c;真的会输的很惨.... 作为自信满满却一站失利的过来人&#xff0c;我有话要讲&#xff01;谁再说二建简单&#xff0c;就让她替我考 几个重要时间点&#xff1a; 报名开始&#xff1a…

Dynamo批量操作之提取族库族参数写入Excel

你好&#xff0c;我是九哥~ 今天&#xff0c;来开一个新的系列教程——Dynamo批量操作。 批量操作&#xff0c;可以说是Dynamo最擅长做的事&#xff0c;可以批量改参数值&#xff0c;批量放置族等等&#xff0c;但是批量操作起复杂的数据结构&#xff0c;还是需要一些技巧的&…

Java项目:24 基于SpringBoot+freemarker实现的人事管理系统

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 基于SpringBootfreemarker实现的人事管理系统分为七大模块&#xff1a;绩效考核&#xff0c;招聘管理&#xff0c;档案管理&#xff0c;工资管理&…

世界上最简单的无解问题

1990年的Cleve’s Corner专栏文章《世界上最简单的无解问题》中描述了压缩感知遇到的问题的一个简化版本。 例如&#xff0c;两个平均值为3的数字&#xff0c;这些数字是什么&#xff1f; 在我们抱怨没有足够的信息后&#xff0c;可能会回答2和4。 如果我们这样做了&#xff0c…

并发编程入门指南

文章目录 并发编程进程和线程的区别并发和并行的区别创建线程的方式线程之间的状态&#xff0c;状态之间的转换新建三个线程&#xff0c;如何保证按顺序执行wait方法和sleep的区别如何停止一个正在运行的线程synchronized关键字底层原理Monitor属于重量级锁&#xff0c;了解过锁…

Stable Diffusion 模型分享:A-Zovya RPG Artist Tools(RPG 大师工具箱)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 A-Zovya RPG Artist Tools 模型是一个针对 RPG 训练的一个模型&#xff0c;可以生成一些 R…

基于springboot + vue实现的前后端分离-酒店管理系统

项目介绍 基于springboot vue实现的酒店管理系统一共有酒店管理员和用户这两种角色。 管理员功能 登录&#xff1a;管理员可以通过登录功能进入系统&#xff0c;确保只有授权人员可以访问系统。用户管理&#xff1a;管理员可以添加、编辑和删除酒店的用户&#xff0c;包括前…

最新YOLOv9论文理论:使用可编程梯度信息学习您想学习的内容 | Programmable Gradient Information

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information YOLOv9 论文地址&#xff1a;https://arxiv.org/pdf/2402.13616.pdf 摘要 当今的深度学习方法侧重于如何设计最合适的目标函数&#xff0c;以便模型的预测结果最接近真实情况。同时&…

精美工作室引导页源码

精美工作室引导页源码 源码介绍&#xff1a;一款精美的工作室引导页源码 下载地址&#xff1a; https://www.changyouzuhao.cn/6560.html

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

LCR 018. 验证回文串 给定一个字符串 s &#xff0c;验证 s 是否是 回文串 &#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 本题中&#xff0c;将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan, a canal: Panama” 输出: true 解释…

正交匹配追踪(Orthogonal Matching Pursuit, OMP)的MATLAB实现

压缩感知&#xff08;Compressed Sensing, CS&#xff09;是一种利用稀疏信号的先验知识&#xff0c;用远少于奈奎斯特采样定理要求的样本数目恢复整个信号的技术。正交匹配追踪&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;是一种常见的贪婪算法&#xff08;Gree…

沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

gpio 概述 刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在浮空输入状态 外部中断 所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个 GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,比如 PA1(或 PB1、…

windows下快速安装nginx 并配置开机自启动

1、下载地址&#xff1a;http://nginx.org/en/download.html 2、启动nginx 注意⚠️ 不要直接双击nginx.exe&#xff0c;这样会导致修改配置后重启、停止nginx无效&#xff0c;需要手动关闭任务管理器内的所有nginx进程。 在nginx.exe目录&#xff0c;打开命令行工具&#xf…

Linux搭建FISCO BCOS的第一个区块链网络

一、前言 FISCO BCOS是由金融区块链合作联盟&#xff08;深圳&#xff09;与微众银行共同发起的开源区块链项目&#xff0c;支持多链多账本&#xff0c;满足金融行业复杂业务需求。本文将介绍如何在Ubuntu操作系统上使用Linux命令搭建FISCO BCOS的第一个区块链网络。 目录 一…

Jetpack Compose -> 重组作用域和remember()

前言 上一章我们讲解了 MutableState 和 mutableStateOf() 本章我们讲解下 remember 这个关键方法&#xff1b; ReCompose Scope(重组作用域) 我们先来看一段代码 当我们将 var name by mutableStateOf("老A")lifecycleScope.launch{}这两行代码放到 setContent 中…

核密度分析

一.算法介绍 核密度估计&#xff08;Kernel Density Estimation&#xff09;是一种用于估计数据分布的非参数统计方法。它可以用于多种目的和应用&#xff0c;包括&#xff1a; 数据可视化&#xff1a;核密度估计可以用来绘制平滑的密度曲线或热力图&#xff0c;从而直观地表…

使用transformer来训练自己的大模型实现自定义AI绘图软件的详细操作步骤

使用transformer来训练自己的大模型实现自定义AI绘图软件的详细操作步骤!下面的步骤是非常细致的,如果你有一台自己的GPU算力还算可以的服务器主机,想自己训练AI大模型。可以按照如下步骤开展操作。 要使用 Transformer 框架训练属于自己的大模型来完成 AI 绘图,需要经历以…