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

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

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

一、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.mzph.cn/news/696351.shtml

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

相关文章

Spark中写parquet文件是怎么实现的

背景 本文基于 Spark 3.5.0 写本篇文章的目的是在于能够配合spark.sql.maxConcurrentOutputFileWriters参数来加速写parquet文件的速度&#xff0c;为此研究一下Spark写parquet的时候会占用内存的大小&#xff0c;便于配置spark.sql.maxConcurrentOutputFileWriters的值&#…

Javascript怎么输出内容?两种常见方式以及控制台介绍

javascript是一种非常重要的编程语言&#xff0c;在许多网页中它被广泛使用&#xff0c;可以实现许多交互效果和动态效果。输出是javascript中最基本的操作之一&#xff0c;下面将介绍两种常见的输出方式。 一、使用console.log()函数输出 console.log()函数是常用的输出函数…

Jmeter实现阶梯式线程增加的压测

安装相应jmeter 插件 1&#xff1a;安装jmeter 管理插件&#xff1a; 下载地址&#xff1a;https://jmeter-plugins.org/install/Install/&#xff0c;将下载下来的jar包放到jmeter文件夹下的lib/ext路径下&#xff0c;然后重启jmeter。 2&#xff1a;接着打开 选项-Plugins Ma…

在Linux上安装Docker: 一站式指南

Docker 是一款强大的容器化平台&#xff0c;为开发者提供了一种轻松打包、发布和运行应用的方式。在本文中&#xff0c;我们将探讨如何在Linux操作系统上安装Docker&#xff0c;为你提供一站式指南。 步骤1: 卸载旧版本 在安装新版Docker之前&#xff0c;建议先卸载旧版本&am…

三十年一个大轮回!日股突破“泡沫时期”历史高点

2月22日周四&#xff0c;英伟达四季报业绩超预期&#xff0c;而且本季度业绩指引非常乐观&#xff0c;提振美股股指期货并成为芯片股和AI概念股情绪的重要催化剂。今日亚洲芯片股和AI股起飞&#xff0c;日本在芯片股的带动下突破1989年泡沫时期以来的历史最高收盘价。 美股方面…

我之前炒股亏麻了,找百融云AI Agent谈了谈心

春节之前&#xff0c;A股和H股都跌麻了&#xff0c;但是机构的路演和调研反而多了。因为&#xff1a;写不完的安抚、说不完的陪伴、听不完的客户指责、以及捡不完的AH股便宜货。 有一位血液里流淌着美式咖啡的职场白领&#xff0c;虽然这些年在股市过得很不如意&#xff0c;但…

C语言---链表

一.定义 链表是由一系列节点组成&#xff0c;每个结点包含两个域&#xff0c;一个是数据域&#xff0c;数据域用来保存用户数据&#xff0c;另一个是指针域&#xff0c;保存下一个节点的地址。链表在内存中是非连续的。 二.分类 静态链表 动态链表 单向链表 双向链表 循环链…

maven使用问题及解决办法汇总

文章目录 1、maven clean后打包出现Cannot create resource output directory2、把已有jar包打包进本地maven仓库 1、maven clean后打包出现Cannot create resource output directory 主要原因是target目录被别的程序占用了&#xff0c;最笨的办法是重启电脑&#xff0c;当然也…

C++跨模块释放内存

linux一个进程只有一个堆&#xff0c;不要考虑这些问题&#xff0c;但是windows一个进程可能有多个堆&#xff0c;要在对应的堆上释放。 一&#xff0c; MT改MD 一个进程的地址空间是由一个可执行模块和多个DLL模块构成的&#xff0c;这些模块中&#xff0c;有些可能会链接到…

代码随想录训练营第29天| 491.递增子序列、46.全排列、47.全排列 II

491.递增子序列 题目链接&#xff1a;491. 非递减子序列 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<List<Integer>> ans new ArrayList<>();public List<List<Integer>> findSubsequences(int[] nums) {backtrack(nums, …

(十三)【Jmeter】线程(Threads(Users))之tearDown 线程组

简述 操作路径如下: 作用:在正式测试结束后执行清理操作,如关闭连接、释放资源等。配置:设置清理操作的采样器、执行顺序等参数。使用场景:确保在测试结束后应用程序恢复到正常状态,避免资源泄漏或对其他测试的影响。优点:提供清理操作,确保测试环境的整洁和可重复性…

租用海外服务器,自己部署ChatGPT-Next-Web,实现ChatGPT聊天自由,还可以分享给朋友用

前言 如果有好几个人需要使用ChatGPT&#xff0c;又没有魔法上网环境&#xff0c;最好就是自己搭建一个海外的服务器环境&#xff0c;然后很多人就可以同时直接用了。 大概是情况是要花80元租一个一年的海外服务器&#xff0c;花15元租一个一年的域名&#xff0c;然后openai 的…

centos安装扩展

centos下安装php扩展时遇到的问题php 1.imapgit cd /root/php-5.6.27/ext/imap /usr/local/php/bin/phpize ./configure --prefix/usr/local/imap 错误1github configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happe…

一 些有代表性的相位解包裹算法

Itoh首先给出了传统解包裹算法的数学描述!。传统的相位解包裹操作是通过对空间相邻点相位值的比较来完成的。根据抽样定理&#xff0c;如果相邻采样点的相位差不超过z&#xff0c;则对应的相位解包裹处理是非常简单的&#xff0c;理论上以某点为起始点沿某一路径对包裹相位的差…

中科院计算所:什么情况下,大模型才需要检索增强?

ChatGPT等大型语言模型在自然语言处理领域表现出色。但有时候会表现得过于自信&#xff0c;对于无法回答的事实问题&#xff0c;也能编出一个像样的答案来。 这类胡说乱说的答案对于医疗等安全关键的领域来说&#xff0c;是致命的。 为了弥补这一缺陷&#xff0c;研究者们提出…

ios抓包Tunnel to......443

fiddler官网下载“CertMaker for iOS and Android”插件&#xff0c;官网插件&#xff1a;https://www.telerik.com/fiddler/add-ons 双击运行插件后&#xff0c;重启fiddler&#xff0c;ios重新安装证书即可

猫头虎分享已解决Bug || 系统更新失败(System Update Failure):UpdateError, UpgradeFailure

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Java并发编程面试题53道-JUC

Java中的JUC是"Java Concurrency Utilities"的缩写&#xff0c;它是指Java平台从Java 5版本开始引入的一系列用于处理多线程并发编程的工具类和框架。这个包(java.util.concurrent)极大地增强了Java在并发编程领域的支持&#xff0c;提供了一系列高级抽象如线程池&am…

Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结…

一周学会Django5 Python Web开发-Django5路由重定向

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…