###申明
此项目是c#写的一个ActionScript 3.0解析器
因为初版本的词法分析性能问题,所以此版本是基于Apricot大神的Scorpio做的修改,所以大部分API对于Scorpio都没有变化
在Scorpio的基础上加入了面向对象的概念,截止目前,实现了类、包、静态、方法、变量、new等功能(注:年后的最新版已经和Scorpio有了很大的差距,从底层架构开始接近as3)
未完善的功能有:方法参数默认值、int/Number默认值、delete关键字、undefined关键字、NaN关键字、as/is关键字、for in循环、命名空间、setTimeout等系统方法、 完整的RunTime、相关Unity插件
###引擎简要说明
1、依托Unity3d引擎,可以利用as3编写出高性能、多平台的游戏,用as3编写出高性能的3D游戏不再是那么遥不可及
2、在原版ActionScript 3.0的基础上加入了调用/实例C#原生类的功能,大大丰富了ActionScript 3.0的功能支持
3、Unity3D的热更新在手机平台一直是头疼的问题,在现有的ulua、L#基础上增加了as3的解决方案
###用ActionScript 3.0做脚本语言相比较有如下优势:
1、对flash、js、java等程序员友好,尤其是flash的大大小小的类库都可使用
2、有flashbuilder、flashdevelop等这些成熟的ide
###用法示例
https://git.oschina.net/jianyumofa/ActionScriptForUnity/blob/master/Demo.cs
###FlashUI框架
https://git.oschina.net/jianyumofa/FlashUIForUnity
###2015年3月5日
彻底修复super的bug,加入getTimer、toString等一些基本的工具函数,加入as3示例工程
加入完整的鼠标事件支持
修复枚举获取不到的bug
###2015年3月3日
重构计划,已经基本完工了,再进行几天的测试即可发布
加入一些基本的显示对象
###2015年3月2日
为了彻底面向对象,全面整改底层,已经和Scorpio有了很大差别,更加的接近as3的机制。例如变量作用域,现在和as3一样了。
###2015年2月12日
修复数组长度获取的bug
修复继承所得属性必须this才能获取的bug
修复属性不赋值也不为null的bug
修复构造super用法的的bug
修复类静态属性获取不到的bug
修复继承其他的一些问题
修复静态方法内实例化对象结果为null的bug
###2015年2月10日
修改new和强制转换冲突的bug
修改String库,现在支持String(强制转换)、new String("")
加入Array类型,修改String的类型,原来是方法现在是类
加入Number类型、加入Object类型、加入typeof
加入uint、int支持
###2015年2月9日
修复带类型的参数无法使用的bug
加入get/set的支持
加入强制转换支持
修复foreach里面定义变量不能指定类型的bug
修复foreach的格式不对的BUG,因为在as3中的格式是for each(中间有空格)
修复前缀带get、set函数执行错误的bug
加入Undefined支持,加入String基础类型,并添加charAt、charCodeAt2个基本函数
修复不存在的属性和null比较返回false的BUG
###2015年2月6日
加入继承、方法重写、父方法调用
修改注册函数,方便以后加入ScriptClass
修复循环语句里面return无效的BUG
重写ScriptTable的ToString,现在可以打印出类/对象的类型
###2015年2月5日
加入import支持
修改使用流程,现在是先注册类,再运行
因为as3的类也算是对象,所以暂时用指令代替注册,后续不排除加入ScriptClass
加入数组支持,暂时提供如下方法
push、splice、sortOn、shift、pop、reverse、indexOf
提供如下属性
length
具体用法参照Adobe帮助文档的Array类:http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/Array.html
修改foreach的用法,现在和as3的用法一样
修改this,现在能正确的指向本对象
修改for的用法,现在圆括号内可以用var
修改使用C#类的方法名importType、genericType等
修改全局方法print的方法名为as3中的trace
修复若干BUG
###2015年2月4日
完成原型
附:Scorpio是类似js脚本的解释器、Apricot的原版Scorpio解释器地址:https://github.com/qingfeng346/Scorpio-CSharp
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。