请选择 进入手机版 | 继续访问电脑版

查看: 386|回复: 1

[技术] UnityScript到C#转换工具

[复制链接]

1287

主题

2010

帖子

2万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
27055
QQ
发表于 2019-1-10 04:01:46 | 显示全部楼层 |阅读模式
UnityScript是Unity中类似于JavaScript的脚本语言.我们在2017年8月发布了公告:我们将逐步弃用UnityScript,仅保留C#作为Unity脚本编程语言。

在弃用的过程中,我们首先开发了UnityScript到C#的转换工具。然后,我们把新建UnityScript脚本的菜单选项移到了Legacy菜单下。

00.jpg


下载转换工具
如果你还有使用UnityScript开发的旧项目,你可以使用UnityScript到C#的转换工具进行转换。

下载UnityScript到C#的转换工具:
https://github.com/Unity-Technologies/unityscript2csharp

我们收集了大量关于转换工具的反馈并修复了一些问题,下面是部分通过反馈对转换工具进行的改进:
1、支持保留原始脚本的注释
2、引入编辑器集成包以简化使用过程
3、改进对大量UnityScript构造的支持

在Unity 2018.2中,我们完全移除了新建UnityScript脚本的选项。现在,转换工具功能完整且足够稳定,可以为所有仍使用UnityScript的项目提供帮助。

转换过程
在开始转换过程前,请确保你的项目在Unity 2018.1上进行构建,保证项目中所有测试都能通过。

在点击菜单Tools->Convert UnityScript to C#,运行转换工具。如果需要控制转换过程使用的参数,你可以通过命令行运行转换工具,但需要注意,额外的灵活度将伴随着额外的复杂度。

下面的视频展示转换旧版Angry Bots项目的过程。该视频的目的只在于演示,因此我们把首次在Unity 2018.1打开项目时造成编译错误的代码都注释掉了。

观看转换工具使用视频

转换的基本过程如下:
1、备份项目
2、在Unity 2018.1打开项目
3、如果有API更新工具的请求,请接受并修复剩余错误
4、确保播放器在每个目标平台都成功构建
5、确保所有相关测试都能通过,同时要在实际设备上运行项目
6、安装最新编辑器集成包
7、清空编辑器Console
8、运行转换工具
9、修复运行相关测试时的剩余问题

注意事项:
取决于项目所使用的API,第9步不一定要执行,但在Angry Bots示例中,我们需要修复部分API的使用。

如果项目面向多个平台,则需要为每个目标平台重复执行第8步,方法是在运行转换工具前选择平台,然后手动合并转换代码,将转换代码相应地和条件代码包装起来。这也是该工具的限制,这种情况下,你可能要在每次转换后使用VCS来恢复项目状态。

参考资料
转换工具是开源的,你可以下载源代码并进行查看,请随时提供任何修复或改进,下面是关于转换工具的参考资料。

查看转换工具使用限制:
https://github.com/Unity-Technol ... 2csharp#limitations

了解如何在编辑器安装资源包:
https://github.com/Unity-Technologies/unityscript2csharp/releases

小结
如果转换工具无法满足你的需求,你可以在Asset Store资源商店寻找其它资源。如果你需要该工具的相关帮助,请在Unity官方论坛中提出,我们会尽可能提供帮助。

UnityScript转换工具论坛帖:
https://forum.unity.com/threads/ ... ersion-tool.487753/

更多Unity最新信息,尽在Unity官方中文论坛(UnityChina.cn)!

0

主题

50

帖子

890

贡献

中级UU族—1级

Rank: 4

积分
890
发表于 2019-1-11 03:45:08 | 显示全部楼层
2016年开始估计都没有人用js了吧,C#万岁!
快速回复 返回顶部 返回列表