千锋教育-做有情怀、有良心、有品质的职业教育机构
一.前言.
puerts是游戏弓|擎Q下的TypeScript编程解决方案
●提供了一个JavaScript运行时
●提供通过TypeScript访问宿主引擎的能力( JavaScript面的绑定以及TypeScript 声明生成)
二.puerts的优势
●JavaScript生态有众多的库和工具链,结合专业商业引|擎的渲染能力,快速打造游戏
●相比游戏领域常用的lua脚本, TypeScript的静态类型检查有助于编写更健壮,可维护性更好的程序
●高效:引擎,全平台支持反射Binding,无需额外(生成代码)步骤即可开发
●高性能:引擎,全平台支持静态Binding,兼顾了高性能的场景
三.安装教程.
●git clone https://github.com/Tencent/ puerts.git
●拷贝插件到您项目
。拷贝puerts/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。
下一篇
反射的实现原理?相关推荐