laya新手入门知识坑点
一、写这个文章的目的:
- 是记录laya入门难点,给creator转laya的后来人看看,以便更好的玩转laya。
- 是希望laya官方的文档更全一点,对新人友好一些。
祝大家做的游戏都火爆哈!
laya还是很难入门的,相比creator太坑了。
一直都是做creator,来了解一下laya了,做个小项目熟悉一下这个引擎。
写的是1.x的laya。2.x的感觉跟creator一个模子,不看文档都会玩,所以来玩1.x的了
二、坑的点(跟creator不一样的地方):
1. 界面编辑了,按F5居然没更改。
搞了1整天才知道要按F12发布一下到代码才可以。真是巨坑。加了群,群友告诉才知道的,官网文章太不友好了。(感谢:小渔)
2. 资源没导入的坑,加了按钮没显示。
加了一个按钮到界面里面,按了f12,也发布了,但是f5调试还是看不到。原来是资源没导入,群友说因为太简单了所以没写。可能是因为creator转过来的,确实是不知道。
解决方案:

加一行打包资源的代码即可
问题解决了,加一行代码即可。
3. 文档相比creator差太多了
说的不是代码部分和api部分,说的是IDE编辑界面的那部分,对新人简直是一个hello world都写不出来。有ui的那个新建项目,不是纯代码写的hello world,这个会。
(感谢:空白,seven告知的需要加载资源)
4. 切换场景
creator切换场景直接一句话cc.director.loadScene('game');就可以了,不知道laya是怎么切换的,我官网搜索没找到答案,问群里吧,哎。
解决了:先addChild进来,在把以前的view删除掉,代码如下:
/**Created by the LayaAirIDE*/
module view{
export class menuScene extends ui.menuSceneUI{
constructor(){
super();
this.btnFriend.on(Laya.Event.CLICK, this, this.onBtnFriendFight );
}
private onBtnFriendFight(): void{
console.log('btn click' );
// 新打开一个UI界面
var waitScene: view.waitFriendScene = new view.waitFriendScene();
Laya.stage.addChild(waitScene);
// 删除上一个界面
// 这里怎么写??问了群友才知道怎么用的(感谢:努力奋斗,小渔)
this.removeSelf();
this.destroy();
}
}
}
坑点继续写。。。
三、也写下laya的优点
我认为的laya优点:
1. 代码提示非常完善。
creator的代码提示有的时候出不来,虽然底层都是vscode,但是laya的提示超出我的预期。creator是好用,但有缺点,laya这里是满分。
2. 控件名称是写在ui界面的
这个打平吧,算是特色。这个跟creator是相反的,creator控件名字是先在代码里写好,然后在把控件拖过去绑定。laya是直接在ui界面写,然后按f12发布,代码里面就可以用了。感觉也是很好的一种方法,记录下跟creator不一样的地方。
四、用laya一天时间总结:
- 新人入门极难,官方重点不清晰。可以用as,ts,js本是优势,但是官方不推荐一个重点给新人学习,光是选择语言就跑掉一大半到craetor和egret了,个人推荐用laya就用ts,没原因,用就是的,别浪费时间在想用什么语言上。
- 对ui界面支持的文档几乎可以忽略不记,其他api入门我看官方文档都没问题,唯独到了ui界面ide操作那一部分完全看不懂,坑点几乎都是来自这里,新人应该来说基本没人能通过看官方文档学的会的。一个带ui界面的hello world都写不出来的。
- laya入门后挺好用的。