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

先上个视频:


在这里分享一下在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 的加载流程中去了。

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

4
小结

今天算是初步将 pbkiller 在 Creator 3D 上的问题搞定 ,希望上面的内容对你帮助,如果你有好的方案也欢迎留言讨论。 原创不易,觉得文章有用,感谢分享给需要的朋友!谢谢!


640?wx_fmt=jpeg

640?wx_fmt=png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值