egret 變數 Egret全新RES模組詳解

2021-10-17 06:39:32 字數 1594 閱讀 9635

近期egret發布了全新的4.0版本,此次版本中最大的特色就是釋放了全新的res資源管理模組。相信不少人在官網或者直播中已經對新的res資源管理模組有所了解。這篇文章就全新的res進行一次介紹。與此同時,在引擎新版本中,由於引入了typescript 2.1.4,所以在語法糖層面也增加不少特性,我後續會在其他文章中逐步介紹。

首先來簡單說麵一下這次res模組公升級後的特點。相對於舊版本,變化如下:

借助新的es規範,api使用發生明顯變化

資源配置檔案格式改變,減小體積的同時,增加了熱更新機制。

新版本res採用單獨執行方式,和舊版本可以保持很好的共存。當然,在你的專案中你只能選擇使用其中一種。

舊版本中的自定義格式解析器被廢除,取而代之的是新的格式解析擴充套件方法。

開發者在剛剛接觸新版本時,由於語法糖變化,可能會帶來暫時的不習慣,當你熟悉這部分語法後,使用起來效率會比以前高很多。為了相容舊版本,在新版本中你也可以使用舊版本的api呼叫方式,但不同的是,一部分api的引數和行為會發生少許變化,這對於就專案遷移尤為需要注意。

安裝新的res模組並沒有放置於引擎之中,很多人更新egret引擎後不知道新版res所處位置。這裡需要對安裝方法做乙個簡單介紹。

當你想使用新版本的res模組時,你需要借助npm來記性安裝,安裝命令如下:

npm install egret-resource-manager -g

在這行命令中,新增 -g 引數,我們希望你能夠以全域性方式進行安裝,保證在不同系統賬戶下都可以使用res命令。

安裝完成後,你即可使用新版本res模組,但對於要使用的專案需要進行進一步操作。

將專案切換為全新的res模組

進入到你的專案中,為了實驗對比,我們新建兩個專案,一名明明為old,另外乙個命名為new 。然後進入到new目錄下,執行如下命令:

res upgrade

如果命令執行完成後,並沒有報錯,即證明新版本res切換成功。

對比新舊兩個專案,我們來看一下發生了哪些變化:

新專案中,在bin目錄下,新增了乙個名為resourcemanager的資料夾,該資料夾存放全新res模組**。這個資料夾中的**檔案共有4個,四個檔案也就是git倉中bin目錄下的4個檔案。

在egretproperties.json檔案中,原有modules節點中的res節點被刪除,取而代之的是名為resourcemanager的模組配置。

除了以上兩點,你還需要自己修改一下tsconfig.json檔案。因為全新的res模組依賴於es2015標準中的promise物件,所以在編譯器編譯階段,我們需要在這裡新增對promise物件的編譯支援。修改後內容如下:

"compileroptions": ).catch((err)=>catch(err) else if (path.indexof("movieclip") >= 0) else if (path.indexof("movieclip") >= 0) {

type = "movieclip";

return type;

再一次執行res build,然後編寫測試**,看能否列印出你要的內容。

console.log(res.getresasync("config/d.jsn"));

關於新的res模組的介紹就到這裡!

enjoy!

egret 效能測試

今天,看到一篇as3 addchild 顯示物件到舞台後執行,removerchild 的效能的消耗的問題。private function testremovechild void trace 建立物件計算用時 gettimer starttime,毫秒 starttime gettimer wh...

egret事件模型

定義了乙個事件派發類 class dispatcher extends egret.eventdispatcher 注意此處是public static,this指向dispatcher類,而不是它的例項 因此,instance必須定義為靜態成員才能獲取 public static get ins ...

egret 布局相關

eui布局相關屬性 includeinlayout 指定此元件是否包含在父容器的布局中。explicitwidth,explicitheight 顯式設定的寬高值。maxwidth,minwidth,maxheight,minheight 最大和最小尺寸 width,height 這兩個屬性儲存元件...