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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

工程代码_Egret开发笔记(二)基础工程代码阅读

發布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工程代码_Egret开发笔记(二)基础工程代码阅读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼目錄結構

在Egret Wing中打開上一節中我們創建的項目工程,查看代碼目錄結構,Forward在如下圖中標記了各個目錄的及關鍵文件的用途。

代碼閱讀理解

接下來我們從web入口一步一步閱讀初始代碼。首先打開index.html文件,我們看到index文件內容如下:

在上面的代碼中我們看到,在index中首先加載了一個manifest.json文件。

xhr.open('GET', './manifest.json?v=' + Math.random(), true);

好的,我們打開這個文件看看里面的內容。

initial中的是egret庫對應的js文件,也就是我們在《Egret開發筆記(一)》中創建項目時勾選引入的引擎庫,如下圖:

而game模塊中定義的則是啟動程序后要加載的src目錄下ts文件經過編譯生成的js文件。

我們可以看出,在加載完manifest文件之后,將manifest文件initialgame拼接在一起作為一個list。然后通過loadScript開始加載list中所有文件。而每一個文件則是通過loadSingleScript來完成加載的。按照上面的定義首先加載的一定是egret.js,接下來是egret.web.js、game.js...

當所有預定義的文件加載進來之后,在加載完成的回調函數中,調用了egret的runEgret接口,這個接口做了什么呢?

斷點調試可以看到,這個接口經過一系列參數設置后,通過document.querySelectorAll查找到一個egret-player并把它放在一個container中,這個egret-player就是在index.html中定義的body體,這個div中定義了data-entry-class一個Main類型,同時在這個div中定義了一系列這個body體顯示的一系列參數列表。

通過這個container以及前面傳遞過來一個參數集options,然后創建了一個web.webPlayer,而這個web.webPlayer的start接口就調起了我們src目錄下Main的一個對象。

這樣我們就應該明白egret項目是如何從index.htmlMain的調用的。

在進入Main之后,構造函數中首先注冊了一個ADD_TO_STAGE事件,響應接口是onAddToStage,在這個接口中onPauseonResume,再執行runGame接口——

在這里先加載資源創建游戲場景、使用加載description_json文件啟動動畫、使用平臺登錄賬號、并且獲取平臺賬戶信息打印賬戶信息

在loadResource中,首先創建了一個LoadingUI,就是一個加載頁面,然后開始加載default.res.json文件,文件路徑在resource目錄。加載頁面展示的進度則是default.res.json中preload分組的加載進度,當加載資源完成后,移除加載頁面。我們打開這個文件可以看到,實際上這個文件里面的groups中定義了預定義的分組資源,而在resources中定義了各個資源的名稱、類型和url。整個文件是一個json格式的資源配置文件,如下圖所示。

在runGame中,當我們加載完預定義的資源后,就開始創建場景中的背景、對象、設置icon等,這些與具體想實現的功能有關,這里不做過多解釋,涉及到要創建的各種控件對象我們后續專門一章來學習。

接下來,加載description_json文件,實際上是讀取了對應文件中的文字信息,并將加載的結果傳進startAnimation中啟動一個循環動畫

最后調用平臺登錄接口,獲取平臺賬號信息并打印。至此,就完成Main對象中所有邏輯的處理。

總結

以上是生活随笔為你收集整理的工程代码_Egret开发笔记(二)基础工程代码阅读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。