加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

###申明

此项目是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

空文件

简介

暂无描述 展开 收起
C#
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化