日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

<2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结

發(fā)布時(shí)間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 <2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2021SC@SDUSC
開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(七)—— 終篇總結(jié)

目錄

  • 前言
  • 回顧
    • 1、Eventing
    • 2、Filesystem
    • 3、Time
    • 4、Utils
  • 總結(jié)
  • 下一個(gè)計(jì)劃

前言

本篇是開(kāi)源游戲引擎 Overload 模塊 OvTools 的最后一篇了。本篇,筆者將對(duì) OvTools 做一個(gè)簡(jiǎn)單的總結(jié)

另外,想先大致了解 Overload 可前往這篇文章,想看其他相關(guān)文章請(qǐng)前往筆者的 Overload 專欄自主選擇。

回顧

OvTools 模塊是 工具的集合,共包括了四個(gè)相對(duì)獨(dú)立的小模塊:Eventing、Filesystem、Time、Utils,現(xiàn)在讓我們一一簡(jiǎn)單回顧一下吧(已附上鏈接):

1、Eventing

核心是一個(gè) Eventing 類,主要利用 哈希表 作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn) 回調(diào)命令 的添加、刪除、存儲(chǔ)等功能。

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(一)—— Eventing(包含 OvTools 模塊的概述)

2、Filesystem

核心是一個(gè) Filesystem 類 以及外來(lái)引入的開(kāi)源 C++ XML 文件解析庫(kù) tinyxml2。

Filesystem 類負(fù)責(zé) 處理文件,主要利用 哈希表 存儲(chǔ),并能進(jìn)行讀取、修改等等操作;

tinyxml2 可以進(jìn)行存儲(chǔ)簡(jiǎn)單數(shù)據(jù)、配置文件、對(duì)象序列化等不是很大的數(shù)據(jù)量操作。

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(二)—— Filesystem

3、Time

核心是兩個(gè)類,Clock 類Date 類

Clock 類負(fù)責(zé) 時(shí)間計(jì)算,主要是利用 chrono 文件的 time_point 與 duration 等類 實(shí)現(xiàn)計(jì)算時(shí)間差、記錄時(shí)長(zhǎng)等功能;

Date 類只有一個(gè) GetDateAsString() 函數(shù)負(fù)責(zé) 格式化輸出當(dāng)前日期

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(三)—— Time

4、Utils

核心是六個(gè)類:PathParser、Random、ReferenceOrValue、SizeConverter、String、SystemCalls。它們大多是獨(dú)立實(shí)現(xiàn)自己的功能。

PathParser 類負(fù)責(zé) 處理路徑,可以修改格式、識(shí)別文件功能類型等;

Random 類能 按需生成隨機(jī)數(shù) 等,主要依靠 random 文件的 uniform_int_distribution (均勻分布函數(shù))類

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(四)—— Utils(上)

ReferenceOrValue 類能 簡(jiǎn)化變量聲明形式,無(wú)需在意是引用還是實(shí)值,主要使用到了 variant (變體)類型

SizeConverter 類能 換算字節(jié)單位,范圍從 Byte 到 Tera Byte;

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(五)—— Utils(中)

String 類負(fù)責(zé) 處理字符串,能替換關(guān)鍵詞、生成唯一可用斷言等;

SystemCalls 類負(fù)責(zé) 處理顯示文件或?qū)ο?/strong>,主要依靠 Windows.h 的 ShellExecute 系列函數(shù) 實(shí)現(xiàn)。

詳見(jiàn):<2021SC@SDUSC> 開(kāi)源游戲引擎 Overload 代碼模塊分析 之 OvTools(六)—— Utils(下)

總結(jié)

通過(guò)回顧,我們可以發(fā)現(xiàn)這些 “ 工具 ” 的一個(gè)共同特點(diǎn):大量地用到了庫(kù)函數(shù)。由此可見(jiàn),微軟提供的函數(shù)庫(kù)都有著非常強(qiáng)大的功能且方便使用,這值得我們?cè)谝院蟮墓ぷ黜?xiàng)目中多多利用。此外,這些類實(shí)現(xiàn)的都是包括游戲引擎以外,也很常見(jiàn)于其它多個(gè)項(xiàng)目的功能,我們雖然不能完完全全記下來(lái),但是能多看多理解,將它們的邏輯和調(diào)用的函數(shù)融匯于心,便于日后使用。另外整體看下來(lái),命名空間的使用也是非常重要的,避免文件太多的時(shí)候會(huì)重復(fù)定義并出錯(cuò)。

下一個(gè)計(jì)劃

根據(jù)原定的計(jì)劃,分析完了 OvTools,接下來(lái)就是 Overload 的另一個(gè)重要部分 EXE 的 OvGame;其余模塊的探究可以在 2021SC@SDUSC Overload 系列的其余作者中找到。

總結(jié)

以上是生活随笔為你收集整理的<2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。