如何使用Typescript编译.NET程序集以与Unity3d一起使用?

时间:2017-08-16 14:44:21

标签: javascript .net typescript unity3d unity5

Unity3d noob希望使用Typescript进行Unity3d脚本编写,而不是使用C#或UnityScript(Unity3d的类似JavaScript但非真正的JavaScript语言)。

理论是如果我可以将Typescript编译成可以在Unity3d中运行的.NET程序集(即Mono),那我就是金色的。

在您建议现有的JavaScript-.NET互操作解决方案(如Jist或JavaScript.NET)之前,我认为它们会失败,因为Unity3d(以及扩展名为.NET)依赖于类型,如果我'我没弄错, Typescript打印到JavaScript然后使用Jist / JavaScript.NET丢失了类型信息。 Typescript .NET 编译器将保留类型信息。

参考工具的参考点,允许从Typescript代码中使用.NET程序集(如Unity3d)。

2 个答案:

答案 0 :(得分:0)

回答你的问题,你不能在unity3d中使用打字稿。 Unity3d不支持这个。

答案 1 :(得分:0)

Here 你说你可以写 C#。你可以看看 Microsoft.ClearScript。它允许您在 .NET 程序中嵌入脚本语言。它内置了对 V8 的支持。如果您能弄清楚如何在 Unity 中实现它(通过编写一点 C#),那么您就可以使用 JavaScript。并且您可以(虽然不理想)将 TS 代码编译为 JS,然后直接在您的 Unity 游戏中运行它。在大规模上它会很慢,因为它被解释了,但它是可能的。使用 C# 代码,您可以向 JS 公开 UnityEngine API。这不是最好的解决方案(如果您甚至可以称其为解决方案),但它有效(或至少应该有效)。我知道我迟到了 4 年,但对于其他看到它的人来说仍然有用。我很想知道自从您提出这个问题后您是否找到了任何解决方案。