Egret社区
本帖最后由 disunit 于 2017-7-25 17:41 编辑



2017-07-24修改:
修改了加载的方式,支持egret内部加载proto文件,增加import实例,可以在github上查看源代码



1  加入第三方库protobuf v3.2.0(v6.8.0)
修改egretProperties.json文件,增加protobuf库。添加完成后,需要编译引擎。
QQ截图20170601121813.png
编译后在库里面有了 如图:
QQ截图20170601121803.png
2 加入protobuf文件
QQ截图20170601122211.png QQ截图20170601122217.png
3 加载protobuf文件
先定义一个变量保存proto文件的的数据格式
然后用在Main.ts中的
this.load()方法开始加载proto文件,第一个参数是文件路径,第二个是回调函数
1.png
4 使用protobuf
先定义要传输的数据
2.png
然后把数据 根据proto生成uint8Array的二进制数据并返回出来
4.png
3.png
然后把uint8Array数据写入egret.ByteArray()中,然后通过websocket把数据byte发到服务器中去
5.png

5 使用protobuf解析服务器发过来的数据
接受websocket发过来的数据
6.png
然后从byte中把uint8Array数据取出来
7.png 9.png
然后再根据proto来解析服务器发过来的数据
10.png 11.png


6 Demo下载
demo和第三方库
游客,如果您要查看本帖隐藏内容请回复

2017-06-16 10:08 修改了标题






8.png
分享到 :
12 人收藏

203 个回复

倒序浏览
yung  初窥堂奥 | 2017-6-1 15:01:03
addie  初学乍练 | 2017-6-1 15:17:29
dk_tudou  初学乍练 | 2017-6-1 21:38:48
gaozhao  圆转纯熟 | 2017-6-2 10:03:15
倪大乐  登堂入室 | 2017-6-5 11:39:38
想看看,看看
倪大乐  登堂入室 | 2017-6-5 11:45:02
demo跑不起来,有报错
disunit  登堂入室 | 2017-6-5 12:29:11
倪大乐 发表于 2017-6-5 11:45
demo跑不起来,有报错

什么报错啊,看看
倪大乐  登堂入室 | 2017-6-7 09:54:08
disunit 发表于 2017-6-5 12:29
什么报错啊,看看

知道什么原因了,需要在桌面上建一个扩展库的文件夹,并把protobuf文件放进去,之前报的错就是找不到扩展库的文件夹
倪大乐  登堂入室 | 2017-6-7 09:54:13
disunit 发表于 2017-6-5 12:29
什么报错啊,看看

知道什么原因了,需要在桌面上建一个扩展库的文件夹,并把protobuf文件放进去,之前报的错就是找不到扩展库的文件夹
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部