cocos creator 游戏源码_Cocos Creator 3D引擎源码阅读之授之以渔 源码阅读
源碼閱讀
動靜之法
靜
找到引擎源碼的所在
在編輯器的右上角有一個大按鈕
在VSCode里開打engine目錄
引擎源碼就在紅色標中的cocos文件夾里,如下圖
讓我們來看一下引擎的目錄結構
可以看到引擎分了7大模塊:音頻、物理、粒子、ui、緩動、地形、核心。
數字1標記的部分是引擎的兩個大管家director、game類,主要作用是:引擎初始化、游戲主循環、設置幀率等。
數字2標記的load-pipeline是資源加載管線,主要負責資源的下載、并下載依賴的其他資源、資源的緩存和釋放。
數字3標記的部分是引擎支持的資源,例如圖片、音效、字體、材質、動畫、prefab、場景等。這里的資源需要經過2標記的資源加載管線加載后才可以使用。
4標記的scheduler是計時器
常見的UI組件在這里。
閱讀源碼
vscode里必備技能:F12跳轉到定義, Shift+Alt+F12找到所有引用。
引擎腳本加載完畢后,會首先執行game的init和run函數。如下圖,
動
僅僅是閱讀代碼還是不夠的,我們來看看動起來的引擎吧。看看引擎的執行脈絡是怎樣的結構,指令流又是如何在其中流動的。
瀏覽器中調試引擎源碼
點擊預覽按鈕
Chrome會自動打開,此時按下F12。你會看到如下面板
默認打開的是控制臺,這里顯示了日志信息。我們來點擊一下旁邊的Sources按鈕,你將看到
再來點一下紅色框框選中的側邊欄展開按鈕
看到了什么?引擎的代碼就在這里了!好的,現在我們來找一下我們的老朋友director。
怎么是js文件??別擔心,看
ts文件藏在了里面。好的,我們來打開director。
好多了。
現在我們來加個斷點看看引擎在干嘛!
調用堆棧在右側
一些小技巧
按鈕1可以讓我們隨時暫停代碼的執行
按鈕2則可以讓我們在代碼報錯的時候自動暫停在報錯的地方,這個真的是調試利器呀!
看見沒,自動停留在報錯的地方了。都不需要你事先加任何斷點!
Chrome中的其他開發利器
性能分析工具
點擊紅框里的開始記錄按鈕,過一段時間之后再停止錄制。
看到沒里面有一個小山丘,點擊它。
用滾輪放大
找到cpu占用的罪魁禍首了!這個move函數需要優化一下~內存分析工具
內存快照按鈕
wow,string對象竟然占用了43%的內存占用.!
更多用法看這里
到這里你已經可以開啟你的源碼探索之旅了。不過也許你會想看看后面還有什么好玩的東東。
進階
引擎定制
有的時候你想要的功能引擎并沒有提供,或者你想做一些針對項目的引擎層面的優化改造,又或者你發現引擎有一些bug,這些都可以通過定制引擎來實現。
詳細步驟看這里?官方文檔
獨樂樂不如眾樂樂,提交代碼到官方GitHub
假如你通過引擎定制的方式修復了引擎的一個bug,并且你的修復方式是通用有效的,那么就可以嘗試著提交到官方GitHub。
詳細步驟看這里?如何向 Cocos 提交代碼
我的一些提交:
https://github.com/cocos-creator/engine/pull/7558
https://github.com/cocos-creator/engine/pull/7269
https://github.com/cocos-creator/engine/pull/7137
https://github.com/cocos-creator/engine/pull/5437
總結
以上是生活随笔為你收集整理的cocos creator 游戏源码_Cocos Creator 3D引擎源码阅读之授之以渔 源码阅读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020斐讯k3刷什么固件_斐讯K2/K
- 下一篇: python函数做菜单_PYTHON图形