HTML5技术

(C# Unity) 脚本语言 ES - Easily

字号+ 作者:H5之家 来源:博客园 2016-06-30 15:00 我要评论( )

纯 C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,相比 LUA 更精简,不过效率低很多,目前暂时没有发现 BUG,实际游戏运行稳定,没有发现内存泄漏 Github:https://github.com/easily/EasyScript 测试代码: func calc() {print( 2 + 3

纯 C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,相比 LUA 更精简,不过效率低很多,目前暂时没有发现 BUG,实际游戏运行稳定,没有发现内存泄漏

Github:https://github.com/easily/EasyScript

测试代码:

func calc() { print(2 + 3) print(2 - 3) print(2 * 3) print(2 / 3) } func ctrl() { n = 1 if (n > 0) { print(""n > 0"") } else { print(""n < 0"") } arr = [1,2,3] for (i = 0, arr.count) { print(arr[i]) } foreach (i in arr) { print(i) } } func closure() { n = 100 f = func() { n = n + 1 return n } for (i = 0, 10) { print(f()) } } func main() { print(""hello world!"") calc() ctrl() closure() } main()

输出:

hello world! 5 -1 6 0.6666667 n > 0 1 2 3 1 2 3 101 102 103 104 105 106 107 108 109 110

 

纯代码逻辑效率是 C# 的 1 / 50,包含一定的反射大概是 1 / 80,纯数学运算是 1 / 150,纯数学运算有比较多的堆内存分配,会偏慢

所以最好用在对效率要求不高,但需要比较需要灵活性的地方,还在持续的优化性能

目前已经在实际生产环境使用,我们游戏的技能系统的每一个技能脚本都是用 ES 写的,由策划编写,由于语法简单,可以很快学会

编译原理的东西学得不好,很多功能是硬堆出来的,但功能是完善的,同时也在补编译原理方面的知识,希望后期能更加优化

如果有小伙伴想使用的话,希望发现问题可以及时联系我,谢谢

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 对原型链的理解 语言表达能力不好 直接用代码,哈 - 肖莉

    对原型链的理解 语言表达能力不好 直接用代码,哈 - 肖莉

    2017-02-26 14:01

  • ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录 - JeffckyWang

    ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录 - Jeffcky

    2017-02-02 12:07

  • 样式脚本本地化开发方法①【前端开发技巧】 - 小海博客

    样式脚本本地化开发方法①【前端开发技巧】 - 小海博客

    2016-11-15 18:00

  • 吉特仓库管理系统- 斑马打印机 ZPL语言的腐朽和神奇 - 贺臣

    吉特仓库管理系统- 斑马打印机 ZPL语言的腐朽和神奇 - 贺臣

    2016-07-21 16:00

网友点评