二、Laya学习笔记 ---- Laya中如何新建一个场景UI并使用

因为我之前是用Egret的,Egret是场景皮肤HomeSceneSkin.exml,然后在场景代码HomeScene代码中为该场景赋值皮肤this.skinName = "HomeSceneSkin"。

就可以UI和代码结合使用。

 

在Laya教程中没找着UI和代码如何使用,萌新啊。

 

一、新建一个页面HomeScene.ui

在UI编辑中创建一个页面类型为View的界面

 

创建了一个主页HomeScene场景,并拖动了一个Button组件到场景中,ID和label设置为“Test"。

 

二、编辑界面代码HomeScene.ts

因为之前勾选了创建逻辑类,所以项目会自动创建一个HomeScene.ts

但是这里报了一个错,找不到name 'ui',吐槽下自动创建也会报错...

 

 教程找了一圈没找着,群里问了也没人回答,社区也没人遇到这个问题。

后来知道了需要在UI编辑界面,清理并导出,才能自动生成一个文件layaUI.max.all.ts,这个文件生成了HomeScene的基类。

 

 

 

三、UI和代码绑定

在ui编辑界面选择导出后,会自动生成layaUI.max.all.ts,这个文件实现了:

1. 创建了HomeScene.ts的基类HomeSceneUI

2. 绑定了HomeScene.ui,uiView:any = "xxxxx"就是HomeScene.ui的源代码

 

和Egret的比较:

1.Egret需要手动或使用插件来生成场景对应的类和组件属性;Laya能集成了导出功能,导出包含组件属性的基类。

2.Egret的场景皮肤都会集中放在default.thm.json中;Laya是放在layaUI.max.all.ts中。

 

 四、使用HomeScene

使用HomeScene.ts则必须import导入view.scene

 

控制台报错,缺少button.png,这张图被使用在HomeScene.ui的按钮上。

 

 增加加载图集的代码,先加载图集,在 new HomeScene

Laya.loader.load("res/atlas/comp.atlas", Handler.create(null, this.onLoaded));

 

然后出了新的警告,论坛搜了下,只是警告,不影响开发。

 

 到此,在laya中创建ui和代码,并绑定使用就完成了...

 

 

转载于:https://www.cnblogs.com/gamedaybyday/p/9437403.html

LayaAir ,可以通过设置 `Socket` 对象的 `protocols` 属性来添加 `Sec-WebSocket-Protocol` 头部。例如: ```javascript const socket = new Socket(); socket.protocols = ['protocol1', 'protocol2']; ``` 其,`protocols` 是一个数组,包含了要使用的协议名称。在连接到 WebSocket 服务器时,LayaAir 会在握手请求添加 `Sec-WebSocket-Protocol` 头部,以告知服务器使用的协议。 以下是完整代码示例: ```javascript import Socket = Laya.Socket; const socket = new Socket(); socket.protocols = ['protocol1', 'protocol2']; socket.on(Laya.Event.OPEN, this, onSocketOpen); socket.on(Laya.Event.MESSAGE, this, onSocketMessage); socket.on(Laya.Event.CLOSE, this, onSocketClose); socket.on(Laya.Event.ERROR, this, onSocketError); socket.connect('ws://localhost:8080', 8080); function onSocketOpen() { console.log('WebSocket connected'); } function onSocketMessage(data) { console.log('Received message:', data); } function onSocketClose() { console.log('WebSocket closed'); } function onSocketError(e) { console.error('WebSocket error:', e); } // 发送消息 socket.send('Hello, WebSocket!'); // 关闭连接 socket.close(); ``` 在上述示例,我们通过设置 `socket.protocols` 属性来添加 `Sec-WebSocket-Protocol` 头部。在服务端,需要检查客户端发送过来的 `Sec-WebSocket-Protocol` 头部,以确定客户端请求使用的协议是否被支持。若支持,则服务端需要在握手响应添加 `Sec-WebSocket-Protocol` 头部,以告知客户端使用的协议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值