一、熟悉从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改写,在后期随见随改
分享到:
相关推荐
《Layabox2.0框架详解》 Layabox2.0框架是针对游戏开发和交互应用设计的一款高效、易用的开发工具,它在原基础上进行了全面升级,旨在为开发者提供更强大的功能和更好的用户体验。这个框架的核心特点是集成了...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...基于Layabox+Unity制作的模型展示场景源码(鼠标、手指操控).zip
"LayaBox图集转单图工具"就是专门针对LayaBox图集的一种辅助工具,它能够帮助开发者将已整合的图集批量转换回单个图片文件,以便于编辑、修改或单独使用。 首先,我们需要了解图集的基本概念。图集是将多个小图像...
《LayaBox编写的“飞机大战”小游戏解析》 在当今的数字娱乐世界中,游戏开发已经成为...通过深入研究和扩展这个项目,开发者不仅可以熟悉LayaBox的API,还能提升自己的游戏编程技能,为今后的大型项目奠定坚实基础。
在这个项目中,Layabox引擎被用来实现游戏逻辑、动画效果和交互功能。 一、Layabox基础 Layabox引擎基于HTML5技术,支持WebSocket、WebAudio等特性,可以创建高性能的跨平台游戏。其核心组件包括Laya.Core、Laya....
本项目是基于LayaBox和TypeScript实现的“打地鼠”小游戏,它不仅展示了LayaBox的基本用法,还涵盖了Alipay SDK的集成,让我们一起来深入探讨这个项目中的关键知识点。 1. LayaBox引擎: LayaBox采用JavaScript和...
Layabox_as 导出安卓并互相调用domo 使用layaide导出Android_studio后即可在Android_studio中导出apk
2. **代码集成**:在CocosCreator或Layabox的项目中,引入i18n库,编写脚本处理语言切换事件,并根据当前语言加载相应的JSON资源。 3. **界面适配**:在UI组件中,使用动态绑定的方式引用语言资源,而不是直接写死...
基于layabox官方教程的飞机大战源码, 包含游戏素材
Layabox+Unity制作的模型展示场景,鼠标、手指操控 试玩点这里 环境:LayaboxIDE V2.1.1.1 + Unity5.6.3 描述: 展示3D模型 左键旋转摄像机视角 滚轮控制摄像机远近 移动端操作已适配 点击旋转 双指拉近拉远 天空盒...
《使用Layabox引擎开发H5游戏》 Layabox引擎是一款专为HTML5游戏开发者设计的高效、易用的游戏开发工具,它以其强大的性能、丰富的功能和友好的社区支持,成为了H5游戏开发领域的一股重要力量。下面,我们将详细...
3. **跨平台能力**:laya Box 不仅支持Web环境,还能够生成原生应用,包括Android和iOS,通过对应的编译器和转换工具,实现游戏在多平台的发布。 4. **微信小程序支持**:laya Box 引擎可以轻松构建微信小程序游戏...
在"learn-layabox"这个项目中,我们将深入探讨Layabox引擎的使用,通过学习和实践提供的示例代码来掌握其核心概念和技术。 首先,Layabox引擎是基于JavaScript的,这意味着开发者可以利用JavaScript的灵活性和广泛...
资源是来自LayaBox分享论坛。 是一款6边形消除游戏,游戏复杂度比官网的Demo复杂点,因为官网的Demo太简单了。想了解一下其它用法,所以才到网上搜索的。 作者我就不公布了,也是一位在Laya开发者社区分享的。 希望...
1. **Layabox 3D引擎入门**:介绍Layabox 3D的基本结构和工作流程,如何安装与配置开发环境,以及创建第一个3D项目。 2. **3D模型导入与管理**:讲解如何导入外部3D模型,进行材质和纹理设置,以及模型的碰撞检测和...
在本项目中,我们主要探讨的是使用Layabox JavaScript框架创建一个“打地鼠”游戏。Layabox是一个强大的HTML5游戏开发工具,它提供了JavaScript和AS3两种编程语言的支持,便于开发者创建2D和3D游戏。在这个“打地鼠...
在开发微信小游戏时,使用LayaBox框架遇到的一个常见问题是3D资源的本地存储和加载。根据提供的描述和标签,本文将深入探讨如何解决LayaBox在微信小游戏环境下下载3D资源并有效利用本地存储的问题。 首先,我们需要...
总之,"laya as3.0使用box2d实现赛车4轮移动demo"是一个展示如何利用Laya AS3.0和Box2D创建动态物理效果的项目。通过理解Laya AS3.0的编程模型,熟悉Box2D的物理机制,以及在实际代码中实现车辆运动逻辑,开发者可以...