在Creator3D中使用protobuf的快速解决方法!
Posted Creator星球游戏开发社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Creator3D中使用protobuf的快速解决方法!相关的知识,希望对你有一定的参考价值。
在这里分享一下在 Creator 3D 中集成 protobufjs 遇到的问题,如果你在 Creator 3D 中使用其它JS三方库,也会有一定的帮助。
Creator 3D 使用标准的 ES6 语法,代码中不支持
module.exprots = xxx
的方法导出模块。
通过调试发现,module 变量已经不在了,而是需要使用 ES6 的 export 关键字导出。
还好的是 protobufjs 支持插件模式,分别 protobufjs 的三个核心文件:
protobuf.js
bytebuffer.js
long.js
在 Creator 3D 中将上面三个文件设置为插件模式,终于可能运行起来了。
但在 decode 时又出现错误,int64 类型的字段解码不了,结果发现是脚本加载顺序引起的问题。
一翻折腾 直接将这三个文件合
并成了一个文件,将此问题搞定。
在浏览器上运行起来了,但在微信小游戏中还是报错。打开调试,发现合并的 protobuf.js 三个模块又走到 CommonJS 的加载流程中去了。
没有好的办法,只有动源码了,将 protobufjs 中的 AMD、CommonJS 模式的加载代码都移除了,终于在微信小游戏环境运行成功!
今天算是初步将 pbkiller 在 Creator 3D 上的问题搞定
,希望上面的内容对你帮助,如果你有好的方案也欢迎留言讨论。
原创不易,觉得文章有用,感谢分享给需要的朋友!谢谢!
以上是关于在Creator3D中使用protobuf的快速解决方法!的主要内容,如果未能解决你的问题,请参考以下文章
Creator3D长什么样?看看官方惊艳的DEMO就知道了,附在线体验!
Creator3D 守护你的球球—UV动画与天空盒
Python下安装protobuf
Go语言使用protobuf快速入门
微信小游戏 protobuf.js 快速解决办法
gRPCProtoBuf 语言快速学习指南