前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Creator3D中使用protobuf的快速解决方法!

在Creator3D中使用protobuf的快速解决方法!

作者头像
张晓衡
发布2019-11-01 16:12:25
8680
发布2019-11-01 16:12:25
举报
文章被收录于专栏:Creator星球游戏开发社区

先上个视频:

视频内容

在这里分享一下在 Creator 3D 中集成 protobufjs 遇到的问题,如果你在 Creator 3D 中使用其它JS三方库,也会有一定的帮助。

1

module 不可用了

Creator 3D 使用标准的 ES6 语法,代码中不支持 module.exprots = xxx 的方法导出模块。通过调试发现,module 变量已经不在了,而是需要使用 ES6 的 export 关键字导出。

2

插件模式遇到的坑

还好的是 protobufjs 支持插件模式,分别 protobufjs 的三个核心文件:

  • protobuf.js
  • bytebuffer.js
  • long.js

在 Creator 3D 中将上面三个文件设置为插件模式,终于可能运行起来了。

但在 decode 时又出现错误,int64 类型的字段解码不了,结果发现是脚本加载顺序引起的问题。一翻折腾 直接将这三个文件合并成了一个文件,将此问题搞定。

3

微信小游戏的坑

在浏览器上运行起来了,但在微信小游戏中还是报错。打开调试,发现合并的 protobuf.js 三个模块又走到 CommonJS 的加载流程中去了。

没有好的办法,只有动源码了,将 protobufjs 中的 AMD、CommonJS 模式的加载代码都移除了,终于在微信小游戏环境运行成功!

4

小结

今天算是初步将 pbkiller 在 Creator 3D 上的问题搞定,希望上面的内容对你帮助,如果你有好的方案也欢迎留言讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Creator星球游戏开发社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档