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.pswp.cn/news/696351.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696351.shtml
英文地址,請注明出處:http://en.pswp.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…