千鋒教育-做有情懷、有良心、有品質的職業教育機構
一.前言.
puerts是游戲弓|擎Q下的TypeScript編程解決方案
●提供了一個JavaScript運行時
●提供通過TypeScript訪問宿主引擎的能力( JavaScript面的綁定以及TypeScript 聲明生成)
二.puerts的優勢
●JavaScript生態有眾多的庫和工具鏈,結合專業商業引|擎的渲染能力,快速打造游戲
●相比游戲領域常用的lua腳本, TypeScript的靜態類型檢查有助于編寫更健壯,可維護性更好的程序
●高效:引擎,全平臺支持反射Binding,無需額外(生成代碼)步驟即可開發
●高性能:引擎,全平臺支持靜態Binding,兼顧了高性能的場景
三.安裝教程.
●git clone https://github.com/Tencent/ puerts.git
●拷貝插件到您項目
??截恜uerts/unity/Assets下的所有內容到您項目的Assets目錄下,可以參考unity demo
。Plugins要單獨下載releases, 或者自行編譯
。在項目根目錄(Assets 上級目錄) TsProj文件夾, 存放我們的Ts腳本,建議放到這里,不要放到Assets目錄下(因為TsProj下稍
后會加載大量的依賴包,Unity加載會很慢)。
四.如何運行demo
可以隨便打開一個demo,或者我們自己隨便寫一個腳本, 代碼如下所示。
我們可以看出語法結構和Xlua框架是相似的,很容易掌握。
demo雖然是跑起來了,但是我們真實項目肯定不是這么寫ts/js代碼,所以我們需要使用ts編寫真實的游戲邏輯,然后跑起來這些ts代碼。
但是,我們使用unity元法植接跑起來ts代碼的,必須把ts編譯成js,才能使用v8 1 quickjs去執行這些代碼,所以真實的puerts的編程邏輯和LayaAir, Cocos Creator 是一樣的編寫ts,然后自動編譯成bundle.js,等我們運行游戲時,實加載的是bundle.js.
所以我們使用puerts,準確的說需要我們自己去部署工具鏈,需要node.js環境,需要配置webpack或者gulp的編譯器來實時編譯ts代
碼為bundle.js,所以如果你想用puerts,必須先去熟悉js的工作流。
五.puerts環境配置
1.安裝vscode, node, npm, typescript' 2環境
●1.下載node.js安裝程序Node.js官網,安裝完畢后,使用node -v查看版本
●2.npm已經在Node js安裝的時候順帶裝好了。我們在終端輸入npm -v 查看版本,npm是Node.js的包管理 I具(package manager)
●3.安裝TypeScript到系統環境,終端輸入npm install typescript -g安裝
●4.下載vscode, 并安裝Chinese, C#, TS, Unity相關插件
●5.使用vscode 打開TsProj目錄,打開vscode的終端命令行.
2.配置ts編譯環境
一般ts/js項目, 都要一個package. json的文件,它是我們項目的依賴包管理文件,我們都知道js的包一般都通過nmp install xxx 命令從npm下載xxx插件,但是如果我們直接執行npm install 命令的話,會自動下載package . json中的依賴項。
常用依賴項:
比如編譯ts的webpack或者gulp插件,
比如運行時,js 中常用的protobufjs,flatbuffers 插件。
webpack適用于我們執行ts編譯為js用的插件,把需要的依賴加入到dependencies標簽中,然后在vscode的終端輸入npm install 拉取依賴即可,拉取成功后,會生成一-個node_ modules的文件夾,里面就是我們拉取的依賴庫,可能很大,這個文件夾最好加入到忽略列表中。代碼如下所示:
3.編譯ts腳本到bundle.js
加入需要執行的js編譯命令到package . json的scripts標簽中,包括dev和release命令。
"dev": "webpack --config webpack. config . dev.js --watch",
"build": "webpack --config webpack . config. release.js",
dev:調試打包,編譯ts到bundle. js的develop開發版本,bundle. js文件較大,且有.map映射文件,可調試,看日志堆棧。
release :發布打包,編譯ts到bundle.js的release發布版本,bundle.js 文件較小,不可調試,日志無堆棧。
然后我們就可以在vscode的命令行執行nmp run dev 和npm run build 命令,執行編譯了。
其中,我們還需要webpack. config. dev. js和config webpack. config.release.js這兩個文件,是基于webpack的自動編譯命令腳本,可以參考我的webpack .config devjs。
相關推薦