你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[]静态protobuf
dcodeIO是有静态protobuf方式,即生成.proto对应的js文件。请问layaair内置的protobuf.js支持这种方式吗
没有找到相关结果
已邀请:
与内容相关的链接
提交
2 个回复
qian
赞同来自:
LayaAir中protobuf用的是github上的,你直接去官网看下吧
田 浩
赞同来自:
用@egret/protobuf是比较简单的,而且不用改 tsconfig.json就可以用额
https://blog.csdn.net/sjt223857130/article/details/79658158
可以支持proto3
msgScheme.proto 放到 protofile 文件夹下
syntax = "proto3";
option java_package = "msgScheme";
package msgScheme;
message AMsg {
enum Head {
Undefined_Msg = 0;
Undefined_Request = 1;
Undefined_Response = 2;
Login_Request = 100001;
Login_Response = 100002;
CreateRoom_Request = 100003;
CreateRoom_Response = 100004;
}
Head head = 1;
oneof body {
LoginRequest loginRequest = 2;
LoginResponse loginResponse = 3;
UndefinedMsg undefinedMsg = 4;
UndefinedRequest undefinedRequest = 5;
UndefinedResponse undefinedResponse = 6;
}
}
//0
message UndefinedMsg {
}
//1
message UndefinedRequest {
}
//2
message UndefinedResponse {
}
//100001
message LoginRequest {
string userId = 1;
string password = 2;
}
//100002
message LoginResponse {
bool ok = 1;
}
发消息时比较简单
let msg = msgScheme.AMsg.create({
head: msgScheme.AMsg.Head.Login_Request,
loginRequest: {
userId: this.TextInput.text,
password: "bbb"
}
})
let buffer = msgScheme.AMsg.encode(msg).finish()
this.socket.send(buffer)
收消息时要先装到byte里再decode出来
private receiveHandler(msg): void {
this.byte.clear()
this.byte.writeArrayBuffer(msg)
this.byte.pos = 0
let aMsg = msgScheme.AMsg.decode(this.byte.readUint8Array(0, 100000))
要回复问题请先
登录
发起人
rockamring
相关问题
a类引用了b类里的静态属性 那么编译时a会直接读缓存
ts项目,我在程序主入口声明了公共静态类,下面new出了一个对象,把他添加到舞台中出错。
关于cacheAsBitmap如果有动态内容,最好和静态内容分开,以便只缓存静态内容的理解
[ts] “protobuf”指 UMD 全局,但当前文件是模块。请考虑改为添加导入。
laya怎么使用ProtoBuf
js怎么主动调用AS定义的静态变量?
克隆节点后静态合并失效
2d使用物理引擎为什么节点数随着球体数量增加而增加,使用静态Sprite就不会
发现静态物件使用Laya.Sprite3D.instantiate方法复制出来的渲染批处理反复增加不会合批,这个怎么办?
用了自定义材质shader的3D物体还能静态合批吗?
如何让laya效果在静态页面上运行,不用web服务器
问题状态
最新活动:
2019-03-27 16:27
浏览:
2034
关注:
4
人
商务合作
2 个回复
qian
赞同来自:
田 浩
赞同来自:
https://blog.csdn.net/sjt223857130/article/details/79658158
可以支持proto3
msgScheme.proto 放到 protofile 文件夹下
syntax = "proto3";
option java_package = "msgScheme";
package msgScheme;
message AMsg {
enum Head {
Undefined_Msg = 0;
Undefined_Request = 1;
Undefined_Response = 2;
Login_Request = 100001;
Login_Response = 100002;
CreateRoom_Request = 100003;
CreateRoom_Response = 100004;
}
Head head = 1;
oneof body {
LoginRequest loginRequest = 2;
LoginResponse loginResponse = 3;
UndefinedMsg undefinedMsg = 4;
UndefinedRequest undefinedRequest = 5;
UndefinedResponse undefinedResponse = 6;
}
}
//0
message UndefinedMsg {
}
//1
message UndefinedRequest {
}
//2
message UndefinedResponse {
}
//100001
message LoginRequest {
string userId = 1;
string password = 2;
}
//100002
message LoginResponse {
bool ok = 1;
}
发消息时比较简单
let msg = msgScheme.AMsg.create({
head: msgScheme.AMsg.Head.Login_Request,
loginRequest: {
userId: this.TextInput.text,
password: "bbb"
}
})
let buffer = msgScheme.AMsg.encode(msg).finish()
this.socket.send(buffer)
收消息时要先装到byte里再decode出来
private receiveHandler(msg): void {
this.byte.clear()
this.byte.writeArrayBuffer(msg)
this.byte.pos = 0
let aMsg = msgScheme.AMsg.decode(this.byte.readUint8Array(0, 100000))