在 Unity 中使用 Typescript 脚本

本文详细介绍了如何在Unity3D中使用duktape-unity插件实现JavaScript和TypeScript脚本的集成、调试及代码生成,提供了一种在Unity中使用强类型脚本语言的方案。通过编辑配置文件、生成绑定代码、使用tsc编译,并配合VSCode进行远程调试,实现了高效便捷的开发流程。
摘要由CSDN通过智能技术生成

写在前面

经过一段时间的改进, 后来用 QuickJS 代替了 duktape 另外实现了一个 unity-jsb, 此项目修正了若干 unity-duktape 实现上的问题和BUG, 且运行效率更高.

本文介绍的插件 duktape-unity 可以使你在 Unity3D 中使用 javascript/typescript 来写脚本. 这里说的脚本是指可以在包括iOS上动态执行的脚本. 目前主流的选择是 lua 和 ILRuntime(C#), 都是很成熟的方案. typescript 或许可以是介于两者之间的一种选择, 即有动态脚本语言的特性, 又有强类型的辅助.

概况

duktape-unity 的使用方法与 slua/ulua 等是类似的, 通过生成绑定代码并对部分值类型进行特定优化来提高交互效率. 并针对 js 的使用习惯, 做了一些 js 风格的封装, 例如事件/委托的封装, 有两种方式在 js 中将 js 函数注册到 C# 事件/委托上 (这里均以 ts 为例):

// 方法一, 直接注册 js 函数
UnityEngine.Application.lowMemory.on(() => {
   
    console.log("low memory");
});
// 方法二, 构造一个 Delegate 对象进行注册, 这种方式 Delegate 对象本身就是一个 Dispatcher, 可以自己再 on/off 多个响应者
let delegate = new DuktapeJS.Delegate0();
delegate.on(this, () => {
   
    console.log("low memory")
});<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值