Laya开发入门解析

一、laya项目目录结构

1:.laya 存放项目开发中运行中的一些配置消息
2: bin 存放当前项目的输出文件
3: laya 资源项目目录
子文件夹 assets 存放项目的资源
子文件夹 pages 存放项目创建页面布局生成的文件,页面/场景
4: libs 项目的只能提示文件,开发者加入有三方的类库使用,相关的d.ts文件请放到这个目录下
5: src 用来存放项目的代码文件
6: project.config 项目名.laya:项目配置文件,文件内记录了当前项目的项目名称,使用的类库版本号和项目类型
7: main.jsgame_config.js启动脚本和项目配置文件
Laya开发入门解析_第1张图片

二、场景

1:laya游戏开发中是由一个一个的场景来组成的;Scene是laya引擎加载运行显示场景
2:场景里面是由一个一个的物体
3:新建一个场景,场景的大小,名字
4:层级视图:查看场景里面的节点
5:视图里面每个图标表示不一样的类型

三、创建场景 项目设置

1:新建一个场景
2:适配设计分辨率(快捷键F9)
3:场景大小与设计分辨率一样
4:配置适配策略:固定高度,固定宽度等
示例中是固定宽度 设计分辨率750*1334
Laya开发入门解析_第2张图片

四、节点

1:场景里面的元素都叫节点
2:节点在场景内,节点按照树形关系来进行组织
3:laya定义的节点类型,和预先定义的特定功能的节点类型,在Bassices下面
4:父节点与子节点

五、编辑器的操作

1:位置平移:x,y相对坐标,相对于父节点,场景原点左上角
2:大小改变:width,height
3:节点旋转:rotation
4:节点缩放:scaleX,scaleY
5:节点的中心位置:pivoX,pivoY,2D物体位置的中心点,孩子还是以父节点的左上角为原点
anchorX,anchorY,左上角为(0,0)右下角为(1,1),中心点(0.5,0.5)
6:节点的透明性:alpha
7:扭曲:skewX,skewY
Laya开发入门解析_第3张图片

六、脚本

1:新建一个组件类
2:new组件类实例到节点上,一个节点可以添加多个组件实例
3:脚本的注册
4:总结一下:
创建一个脚本组件类的模板—> laya.Script
添加组件,找到这个类,编辑器newl类实例 —> 节点上
打开gameconfig.ts来注册这个类,(挂脚本的同时,自动注册)
5:挂脚本的原则:
(1)脚本要控制那个节点,你就挂在那个节点上
(2)如果是全局的管理类,挂根节点上

七、组件类固定入口

onAwake() {} 组件被激活后执行,此时所有节点和组件均已创建完毕,次方法只执行一次 此方法为虚方法,使用时重写覆盖即可
onDestroy() {} 手动调用节点销毁时执行 此方法为虚方法,使用时重写覆盖即可
onDisable() {} 组件被禁用时执行,比如从节点从舞台移除后 此方法为虚方法,使用时重写覆盖即可
onEnable() {} 组件被启用后执行,比如节点被添加到舞台后 此方法为虚方法,使用时重写覆盖即可
onStart() {} 第一次执行update之前执行,只会执行一次 此方法为虚方法,使用时重写覆盖即可
onUpdate() {} 每帧更新时执行,尽量不要在这里写大循环逻辑或者使用getComponent方法 此方法为虚方法,使用时重写覆盖即可
onLateUpdate() {} 每帧更新时执行,在update之后执行,尽量不要在这里写大循环逻辑或者使用getComponent方法 此方法为虚方法,使用时重写覆盖即可

八、引擎的运行过程

1:引擎加载我们的场景
2:引擎就能够找到场景里面的你每一个节点
2:由节点我们可以找到节点上的每个组件实例
3:特定的时期,游戏引擎调用组件实例特定的入口

九、API文档与接口查看

1:代码里面查看引擎类的接口
2:laya,components.Script —>laya,components.Component
3:API文档查看接口说明
4:通过查看代码API,来找到组件实例所依附的节点

十、ES6新特性

1:export/import 导入我们的代码模块
2:Package代码包的概念
不同开发者之间编写代码,可能会冲突,那么我们定义包,包名,类名;来确定类型

十一、laya场景背后的节点树分布

舞台:所有场景的根节点
root:场景的父节点
场景:场景节点,场景里面的物体都是他的子节点

十二、laya节点

1: laya显示对象:laya.display里面,所有的显示对象,都继承自laya.display.Node
2:laya的显示对象:
节点:laya.display.Node
精灵:laya.display.Sprite 继承 laya.display.Node
场景: laya.display.Scene 继承 laya.display.Sprite
舞台:laya.display.Stage 继承 laya.display.Sprite
文本:laya.display.Text 继承 laya.display.Sprite

十三、节点与组件

(1)GameConfig.js
1: 编译的时候自动生成的文件,人为不要修改
2:自己写的代码,不能直接放在src目录下,编译时候,不会注册这个脚本
3:要显示调试窗口,可以在菜单项目设置里面来处理
(2)代码组件访问节点属性
1:组件代码里面的this指的是 —>组件实例
2:根据当前组件实例,找到对应的节点 组件实例.owner
3: owner 是一个laya.diaplay.Node节点对象
4:所有的场景中的节点对象,都是继承自laya.display.Node 所有场景里面的元素又继承Sprite
(3)节点的常用属性
1:所有的场景物体都继承自Sprite,所以这些属性都在Spirite对象里面
2:名字:name;获取节点的名字,属于laya.display.Node类的成员
3:位置:x.y属于laya.display.Sprite类的成员
4:大小:width,height属于laya.display.Sprite类的成员
5:旋转:rotation属于laya.display.Sprite类的成员
6:缩放:scaleX,scaleY属于laya.display.Sprite类的成员
7:扭曲:skewX,skewY属于laya.display.Sprite类的成员
8:可见性:visible属于laya.display.Sprite类的成员
9:透明度:alpha属于laya.display.Sprite类的成员
10:中心点:pivotX,pivoteY属于laya.display.Sprite类的成员
(4)节点找组件
1:getComponent(类型)返回组件实例
2:getComponent(类型)返回的是满足条件的组件实例数组[]
3:代码添加组件到节点:addComponent();

十四、编辑器绑定与节点查询

1:对于脚本diamante而言是注释
2: 编辑器会解析@prop 来把变量绑定到编辑器
@prop {name:名字,tips:提示,type:类型,default:默认值}
3:绑定编辑器上的变量到数据成员
4:编辑器绑定数据类型:
基本数据类型:Int Number String,Bool
场景节点类型:Node,Sprite,Buttion,不需要带包名

十五、场景中找节点

1:getChildByName:根据名字查找子节点
2:getChilAt(index):根据索引查找节点
3:parent 根据节点找到节点的父节点
4:获取节点数目
5:获取节点所在的场景

十六、代码中添加节点

1:adchild/addchildren

你可能感兴趣的:(Laya,知识储备,typescript)