失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Creator+微信小游戏(2):服务器远程加载资源(4M限制 socketio问题)

Creator+微信小游戏(2):服务器远程加载资源(4M限制 socketio问题)

时间:2022-11-25 05:12:30

相关推荐

Creator+微信小游戏(2):服务器远程加载资源(4M限制 socketio问题)

文章目录

1、资源放哪里?2、Creator发布的问题3、微信开发工具的问题4、socket.io问题!5、手机预览黑屏

以下讲解以cocos creator为例。笔者版本2.0.6.

1、资源放哪里?

小游戏打包超过4M太正常了。常规做法是把res目录(游戏资源)放到远程服务器,小游戏启动的时候自动去服务器下载资源。

如果要想正常发布你的小游戏,你必须把资源必须放在具有https域名的服务器里。。

所以你需要:

1、买个ECS服务器,供应商没限制;

2、买个域名,几十块钱一年也还行。

3、https认证。这个也有免费的。

4、域名备案。这个也不要钱,就是手续比较麻烦。

当然,如果你的小游戏只是自己的微信号预览调试,使用http也可以凑合下。

2、Creator发布的问题

发布的时候注意如下几个地方:

1、MD5 cache。点上这个以后,每次发布生成的资源名都会加上md5码,你可以理解为每次发布后文件名都变了,这是为了避开浏览器缓存资源。当然砸出的坑就是每次发布后你都要同步更新服务器资源

2、appid一定是你申请的小游戏id,而不是小程序id!否则微信开发工具无法生成game.js!(小程序对应app.js)

3、远程服务器地址就是你存放资源res文件夹的目录(别包括res)。

4、发布了以后,别急着打开微信开发工具!先去build目录删除res文件夹

5、删除以后再打开微信开发工具,看看是否能远程加载。现在进入下一个坑。

3、微信开发工具的问题

我的微信开发工具版本如下:

下面开始填坑。

1、项目设置,我是如下设置,最重要的是勾上不校验合法域名!尤其是如果你没有https证书的情况!勾上以后用http、ip地址都可以预览。

2、基础库和creator某些第三方库之间有复杂的对应关系,这个我懒得研究了,总之你记住不要随便换creator版本就好!

3、有时候会莫名报一大堆错误,最好把build文件夹全部删掉重新用creator生成。

4、socket.io问题!

上面说过,微信基础库和creator某些第三方库之间有复杂的对应关系!说的就是你,socket.io!下面告诉你如何爬坑!

1、客户端和服务器的socket.io版本要兼容!否则会出现一方收不到另一方发包的诡异bug!最好用官方demo里给的版本!

2、不同的调试环境,socket.io的加载方式是不一样的!主要搞清楚3个环境:

模拟器环境、web环境、手机(微信)环境:

if (cc.sys.isNative) {console.log('===========Native(模拟器)===========')window.io = SocketIO;} else if (cc.sys.isMobile) {console.log('===========isMobile.===========')// 你写什么都没用!} else {console.log('=========== web ===========')// 你什么都不用写!creator把socket.io作为插件加载了!// window.io = require('lib/socket-io.js'); }_socket = window.io.connect(serverUrl, opts);

是不是看懵逼了?然后你发布后用微信开发者打开,结果报错:

undefined is not an object (evaluating ‘window.io.connect’);at setTimeout callback function at io (src/project.js:1:1)

咋办?

3、手动打补丁!修改game.js中的配置,加入下图第10行的代码!

别放第一行!因为你的socket.io依赖于cc的!放前面会报不认识cc!

你会问这种野路子修改方式正规吗?呵呵,看官方回复:

/t/socketio/64725

5、手机预览黑屏

在微信开发者工具上加载成功,但是到了手机上预览黑屏咋办?

1、先点小游戏右上角三个点,打开控制台,看看加载第三方库是否正常!

2、如果是res加载失败,确定是否资源md5 cache问题!

3、微信公众号平台-开发-域名配置。看到没有,不支持ip地址,不支持http!把这里配置成你的https服务器域名即可。

如果觉得《Creator+微信小游戏(2):服务器远程加载资源(4M限制 socketio问题)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。