[]菜鸟提问:请问使用LayaAir的话,AS3原生类以及一些第三方库完全不能用是吗?
刚刚接触LayaAir引擎,因为从没接触过这种H5游戏开发的引擎,所以想要了解一下用AS3开发所受的限制有哪些?
因为在LayaAir引擎库里面看到连基础的字典类Dictionary都去重新实现了,另外看到int()无法直接使用,必须使用parseInt(),也就是说为了兼顾js,除了AS3的语法特性外,AS3原生类都没法用喽,像字典类Dictionary,Timer,ByteArray,Vector.<>之类的。
另外显然的AS3事件机制全体阵亡喽?比如全部使用laya.event里面的事件机制是吗?
另外一些AS3非常常用的第三方库TweenMax之类的,显然也是无法用的喽?想要用的话,就得把库里面用到的原生类替换成LayaAir重新的实现的才行是吗(或者直接用laya的缓动更直接省事喽)?比如吧flash.utils.Dictionary替换成laya.utils.Dictionary?Timer也得用Laya的?用到的事件机制全部用laya.event替换才行喽?
那么请问例如JS也支持的setTimeOut和setInterval之类的可以用吗?
总之,为了兼顾JS,AS3基础语法可以用,基础类型Numer,String,Object可以用,Int估计也是用Number凑合着用,JS有的那就可以用,JS没有的就必须用Laya引擎提供的库的API才行是吗?
希望能得到解答,万分感谢!!
因为在LayaAir引擎库里面看到连基础的字典类Dictionary都去重新实现了,另外看到int()无法直接使用,必须使用parseInt(),也就是说为了兼顾js,除了AS3的语法特性外,AS3原生类都没法用喽,像字典类Dictionary,Timer,ByteArray,Vector.<>之类的。
另外显然的AS3事件机制全体阵亡喽?比如全部使用laya.event里面的事件机制是吗?
另外一些AS3非常常用的第三方库TweenMax之类的,显然也是无法用的喽?想要用的话,就得把库里面用到的原生类替换成LayaAir重新的实现的才行是吗(或者直接用laya的缓动更直接省事喽)?比如吧flash.utils.Dictionary替换成laya.utils.Dictionary?Timer也得用Laya的?用到的事件机制全部用laya.event替换才行喽?
那么请问例如JS也支持的setTimeOut和setInterval之类的可以用吗?
总之,为了兼顾JS,AS3基础语法可以用,基础类型Numer,String,Object可以用,Int估计也是用Number凑合着用,JS有的那就可以用,JS没有的就必须用Laya引擎提供的库的API才行是吗?
希望能得到解答,万分感谢!!
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
cuixueying
赞同来自: ohkei
int:在js原生下没有此类型,所以需要用parseInt替代;
timer :layaAir有自己的缓动类Tween、timeLine,可以参考缓动
byteArray 请使用Byte.as类(有核心接口)替代,开发者群里也提供了一个ByteArray.as(比较全面),是适配过layaAir的,你也可以去群文件下载放到项目中使用;
Vector:你可以直接用as原生写法(as顶层的接口还是用AS3原生的方式)建议用Array,因为js原生下没有Vector,只有Array,layaAir编译后Vector到js那边还是array的,
Dictionary:请参考API_Dictionary
2、AS3事件机制全体阵亡喽?比如全部使用laya.event里面的事件机制是吗?
是的,必须用layaAir的语法来写,但是AS3的shi事件机制在layaAir下都可以找到,我们针对事件接口做了简化,会更方便,可以参考:鼠标交互
3、AS3的类库不支持直接使用,因为layaAir跟as3没有太大关系了,我们只是借用了as3的代码编辑环境还有顶级类型的使用,不过js原生的类库都支持,开发者可以直接下载使用
4、那么请问例如JS也支持的setTimeOut和setInterval之类的可以用吗?
是的,js原生下也有这两个语法,你可以网上搜索下了解下
5、总结
指的,int不支持强转,譬如int(1.222)这样的写法,不过var a:int=7还是可以用的。