tudouhu 环境:JavaScript LayaAir 2.0.0 beta3 LayaAir IDE 2.0.0 beta3laya2场景发布模式有4种:内嵌模式、加载模式、分离模式、文件模式,laya2默认为文件模式新建4个项目对应不同模式的使用,项目的ui结构是2个场景,都在test目录下,分别为:Laya.scene和Version.scene代码结构:新建一个LayaUI.js最终目的:在舞台显示2个场景组合成的Laya2.0,Laya.scene通过new LayaUI类来创建显示,Version.scene直接创建1.内嵌模式当前版本内嵌模式发布没有数据,直接跳过(正常应该发布到src/ui目录下一个ui类数据的js文件)2.加载模式发布后bin目录下会有一个ui.json文件里面保存着场景数据加载模式第一步就是加载ui.json赋值到Laya.View.uiMap接下来就是创建场景显示场景,主要API就是Scene类的createView方法,参数是场景json数据3.分离模式发布后bin目录下会出现对应的目录的场景文件分离模式不像加载模式必须加载ui.json,可以用到哪个场景加载哪个json,json过大提前预加载比较好接下来创建场景显示场景,主要API就是Scene类的loadScene方法,参数是场景json文件路径4.文件模式和分离模式一样,差别在于生成场景类,JavaScript语言发布数据没有场景类 总结:laya2默认文件模式,内嵌和加载模式都会导致项目ui文件过大,分离模式和文件模式基本一样,推荐使用文件模式。上面代码逻辑方式都是flash的逻辑方式,laya2向组件化靠拢封装了场景Scene类一系列API,根据API来写一个场景的创建和关闭。 场景的创建和关闭主要使用Scene类的close和open方法以及静态方法Scene.close、Scene.open和Scene.closeAll项目设置:ui结构:Laya.scene添加几个按钮并设置runtime逻辑类(目前版本拖入JS到runtime如果JS文件路径在Scrips下需要加上./否则编译报错),新建一个LayaIde.scene场景代码结构:Main.js和上面不一样,不做任何更改项目已经设置起始场景Laya.scene,LayaUI.js是Laya.scene的runtime逻辑类,代码如下 项目下载:Demo.zip Demo.zip0B
happyfire 文件模式不会生成场景类(我用的是TS,也没有生成),而分离模式会生成场景类,为啥2.0默认推荐文件模式呢?如果使用文件模式,还需要自己写场景类,或者自己把场景里面的控件get出来操作吧 我看了下IDE自动生成的3d模板工程里面,整个项目设置是文件模式,但是test scene是设置为分离模式的,然后test scene编译后就有场景类可以使用。我一开始自己的scene没去设置(也就是使用默认)没有场景类生成,导致不能像test scene那样写runtime逻辑。所以查了一下才发现2.0推荐并默认设置为文件模式,其实没有场景类生成。那么2.0文件模式,应该怎么用呢,有什么例子吗