一、熟悉从as3项目转到js的API和特性差异
1、SimpleButton类不能动态修改各个状态的外观
2、ByteArray类,不能使用[]语法获取和设置指定位上的数据,需要改用 byteAt和byteSet取代对应的获取和设置方式
3、Dictionary类,在使用[]语法获取和设置时,如果key值的类型为对象或复杂类型,都需要使用DIC和DICKEY取代原有的设置和和获取方式,hasOwnProperty()方法替换为if判断方式
4、XML类,在使用lenght()方法获取子节点长度的时候,需要替换成xmlLength()方法。如果用到连续获取下级子节点的情况,需要判断上层节点是否为null。子节点的节点名不能使用layaBox的限定字。属性值为数字的时候,使用时需要强制转换。
5、使用非本类的对象的方法引用作为参数时,需要使用bind()方法绑定作用域
6、项目入口添加
IFlash.setSize(),设置项目宽高
IFlash.regBeforeInit(),转换项目初始化前需要的操作,可以处理一些用到表达式赋值的静态属性的首次调用
IFlash. setOrientationEx(),设置项目是横屏还是竖屏
7、用到表达式赋值的静态属性需要调用一次后才能正常得到值
8、使用Loader类的loadBytes方法加载图片二进制数据的地方需要改成URLLoader加载
9、导入其他js库文件的方式,importJS("xx.js", null)
二、转换的大致步骤
1、没有错误或者警告,运行flash版本
2、整体修改一遍字典相关的代码,全文搜索:Dictionary,然后使用flashBuilder的调用堆栈逐个检查
3、如有时间,统一修改一遍函数作用于绑定相关的代码,全文搜索function(,然后使用flashBuilder的调用堆栈逐个检查
4、转换成js,在浏览器中运行,开始js调试
5、在as3中调试,对比js的代码的问题做出修改
6、重复步骤4
三、转换时使用的宏编译
1、只在as3中运行的代码行,/*[IF-FLASH]*/
2、只在js中运行的代码行,//[IF-JS]或者//[IF-SCRIPT]
3、只在as3中运行的代码块,/*[IF-FLASH-BEGIN]*/.../*[IF-FLASH-END]*/
4、只在js中运行的代码块,/*[IF-SCRIPT-BEGIN]...[IF-SCRIPT-END]*/
四、转换经验(其余还在总结中)
1、swtich...case的条件如果用到整数,一般需要强制转换一下
2、使用__JS__(...)的时候,里面如果是引用文件,记得加包路径,不然遇到有两个相同类名的时候就跪了(张聪聪增补)
3、遇到as类型检查时,需要看是否为连续使用,例如:(a as B).c,这种情况需要拆开写
4、修改过的地方加上一定规律的注释作为标记,方便查找增补、修改的内容及后续跟进
5、在使用LoaderInfo对象作为字典key时会出现取不出值的问题,需改用LoaderInfo对象对应的Loader对象作为key,可以解决这个问题
6、使用in语法判断字典中是否存在某个属性的时候(xx in a)需要改用普通的判断条件 a[DICKEY(xx)] != null
7、查找字典语法的改写阶段,遇到不明类型的情况,可以写一个判断,如果对象是Object,输出一个信息,提示这里需要使用DIC/DICKEY改写,在后期随见随改
分享到:
相关推荐
Layabox_as 导出安卓并互相调用domo 使用layaide导出Android_studio后即可在Android_studio中导出apk
LayaBox as3写的飞机大战小例子,只写了部分,剩余部分自己扩展。
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...基于Layabox+Unity制作的模型展示场景源码(鼠标、手指操控).zip
LayaBox+TypeScript 源码 打地鼠小游戏 网上有教程 跟着做了一遍
Layabox 打地鼠完整代码,打开就能使用,会报错,把报错的部分注释了就行,他说是资源文件,注释就能使用
这个工具可以讲已经打成图集的图片批量转换回原来的单图。
基于layabox官方教程的飞机大战源码, 包含游戏素材
资源是来自LayaBox分享论坛。 是一款6边形消除游戏,游戏复杂度比官网的Demo复杂点,因为官网的Demo太简单了。想了解一下其它用法,所以才到网上搜索的。 作者我就不公布了,也是一位在Laya开发者社区分享的。 希望...
学习 Layabox 这个仓库用于记录我学习 layabox 的示例代码 徽章
关于大数字使用,前面已经系统的介绍过这个, 在Laya1.x的时候也使用这个类库,只是当时项目比较忙,加上我疏于记录,后面就不了了之,昨天下班后,群里一个群友问我Layabox2.x关于()使用报错,才有了今天这个文章。...
使用layabox引擎开发的H5游戏.zip
多语言i18n 工具 在 cocoscreator 或者 layabox 使用demo
FairyGUI-layaboxA flexible UI framework for ...可用Laya IDE直接打开UIProject UI 工程,可以FairyGUI编辑器打开获取fairygui库如果你只是想添加或者更新fairygui库到你的项目,那么下载以下文件即可:source/bin/fair
2.0版本的laya基础框架,带uimanager socket通讯,资源管理,数据类,
layabox 塔防-附件资源
主要介绍了layabox2.0命令行在vscode中编译打包问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
简化了LayaBox的工作流程,让各个工具使用更加方便。 参与贡献 辥觻瓭: YaYaLuoYa: 主要功能 - 简化LayaBox开发流程 - 在untiy中搭建场景并导出场景配置文件,根据配置文件自动构建场景, - 导出unti预制体文件 - ...
Layabox+Unity制作的模型展示场景,鼠标、手指操控 试玩点这里 环境:LayaboxIDE V2.1.1.1 + Unity5.6.3 描述: 展示3D模型 左键旋转摄像机视角 滚轮控制摄像机远近 移动端操作已适配 点击旋转 双指拉近拉远 天空盒...