1. 程式人生 > >Cocos Creator 原始碼解讀:引擎啟動與主迴圈

Cocos Creator 原始碼解讀:引擎啟動與主迴圈

# 前言 ## 預備 > 不知道你有沒有想過,假如把遊戲世界比作一輛汽車,那麼這輛“汽車”是如何啟動,又是如何持續運轉的呢? 如題,本文的內容主要為 Cocos Creator 引擎的**啟動流程**和**主迴圈**。 而在主迴圈的內容中還會涉及到:**元件的生命週期和計時器、緩動系統、動畫系統和物理系統等...** **本文會在巨集觀上為大家解讀主迴圈與各個模組之間的關係**,對於各個模組也會簡單介紹,但不會深入到模組的具體實現。 因為如果把每個模組都“摸”一遍,那這篇文章怕是寫不完了。 ## Go! 希望大家看完這篇文章之後能夠更加了解 Cocos Creator 引擎。 同時也希望本文可以起到“師傅領進門”的作用,大家一起加油修行鴨~ 另外《原始碼解讀》系列(應該)會持續更新,如果你想要皮皮來解讀解讀引擎的某個模組,也歡迎留言告訴我,我...我考慮下哈哈哈~ *本文以 Cocos Creator 2.4.3 版本為參考。* --- # 正文 ## 啟動流程 ### index.html > 對於 Web 平臺 index.html 檔案就是絕對的起點。 > 在預設的 index.html 檔案中,定義了遊戲啟動頁面的佈局,並且還有一段立即執行的程式碼。 這裡擷取檔案中一部分比較關鍵的程式碼: ```javascript // 載入引擎指令碼 loadScript(debug ? 'cocos2d-js.js' : 'cocos2d-js-min.ec334.js', function () { // 是否開啟了物理系統? if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { // 載入物理系統指令碼並啟動引擎 loadScript(debug ? 'physics.js' : 'physics-min.js', window.boot); } else { // 啟動引擎 window.boot(); } }); ``` 上面這段程式碼主要用於載入引擎指令碼和物理系統指令碼,指令碼載入完成之後就會呼叫 main.js 中定義的 `window.boot()` 函式。 >