cocoscreator 游戏多久能上手

最近比较流行直播中的弹幕互动玩法,例如抖音,bilibili等平台也有。其中bilibili官方推出了相应的开发平台供开发者去对接直播间的一些数据,方便主播播一些游戏,使得观众观看的时候参与度更高。

创作者服务中心是bilibili的直播内容开放平台,本平台旨为促进bilibili直播生态,增强直播间内交互与直播内容,为开发者社区提供官方的API对接、技术支持、数据追踪等丰富的基础能力。协助开发者快速完成项目搭建,提高主播和观众在bilibili直播中的交互体验,帮助主播生产出更多精彩的内容。欢迎个人/企业开发者加入我们,共同打造“用户-主播-开发者”多方共赢的bilibili直播生态。

链接:***/document/


弹幕互动玩法

互动玩法其实就是基于直播间事件或指令来操控互动行为的玩法,玩法内容即直播内容,直播间用户可通过触发直播间事件或发送对应指令来操控玩法。

那么弹幕其实就是其中的一种事件或指令,例如发一条弹幕,对应游戏内容发生对应的改变。这个跟我们在开发游戏过程中的事件其实是一致的。

下面记录一下采用Cocos Creator引擎来制作这么一个弹幕互动玩法。

首先B站互动玩法是基于桌面应用的,需要提交对应的应用审核。那么基于Cocos一个跨平台的特性,制作桌面应用并不难。

Cocos Creator-b站弹幕互动玩法


目前需要解决的问题是什么

  • 如何获取直播间的数据
  • 获取直播间数据之后我们如何使用对应数据来作为输入,去对游戏进行控制
  • 如何打包成一个桌面应用

首先第一个问题,查看B站开发者文档我们可以得到,如何获取直播间数据。下面是互动玩法的一个获取数据的流程图

Cocos Creator-b站弹幕互动玩法

看到这个流程图应该一目了然。首先通过请求游戏开启,开启成功后开放平台会返回一些长链信息供我们链接socket来获取数据的。然后每间隔一定时间发送心跳包的接口,维持这个信息。最后面游戏结束了需要调用结束接口。其中每个接口都需要进行鉴权。看起来其实跟我们平常的游戏登录,连接服务器其实是一致的。

在建立websocket连接之后获取的数据需要进一步解析才能拿到明文数据。具体的解析开发文档上都有写。

***/document/doc&tool/api/websocket.html

这里不再叙述。

自己重新写难免需要花更多的时间,但B站也提供了一些demo供我们直接使用,非常贴心,其中就有js版本的。刚好Cocos Creator目前也是用Typescript为开发语言的,非常切合。

Cocos Creator-b站弹幕互动玩法

Cocos Creator-b站弹幕互动玩法

demo可以在开发平台上直接获取

由于浏览器跨域问题,demo提供了本地的使用nodejs写的服务用于转发请求。并且,websocket解析部分也给我们封装好了,不用我们自己额外去解析数据

Cocos Creator-b站弹幕互动玩法

Cocos Creator-b站弹幕互动玩法

由于demo前端采用vue编写。我们把前端部分修改成使用Cocos Creator引擎编写的一个小demo,把获取到的弹幕数据显示在屏幕上。

当我们没有采用本地node服务转发的话会出现跨域问题。

Cocos Creator-b站弹幕互动玩法

我们先启用本地服务,需要吐槽一下,这个demo有些东西需要修改,不然编译不通过。

Cocos Creator-b站弹幕互动玩法

然后请求游戏开始

游戏内的

Cocos Creator-b站弹幕互动玩法

转发的

Cocos Creator-b站弹幕互动玩法

当我们在直播间发送一条弹幕的时候

Cocos Creator-b站弹幕互动玩法

可以看到数据就来了

Cocos Creator-b站弹幕互动玩法

基本上这个是没问题的。

有兴趣的可以下载对应的demo去测试一下。但需要一些开发者的秘钥、主播码、项目的id来请求,这些都是可以自己在b站申请的。

那么接下来就是第二个怎么使用这些数据了。提供的直播间数据有弹幕,礼物等等,可以供我们用于游戏的

Cocos Creator-b站弹幕互动玩法

这里不再叙说,看自己游戏怎么用的。

接下来就是打包成桌面应用了

本来是想着用原生那一套,用vs构建出来win32应用。但由于之前得知其实使用Electron来构建桌面应用更快,更适合Cocos。因为直接导出h5包之后可以很简单方便地构建出来。

参考的是某位开发者的方法构建的。

发布到Steam平台

主要是先创建一个Electron项目

npm init -ynpm i --save-dev electron

还有一个注意的点就是下载electron可能会出现read ECONNRESET错误,这是由于网络的原因吧,修改一下下载镜像即可,在命令行中执行,再使用npm安装即可

npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/

Electron启动文件如下

const { app, BrowserWindow } = require('electron')app.on('window-all-closed', function() { if (process.platform != 'darwin') app.quit();});app.on('ready', function() { mainWindow = new BrowserWindow({ width: 1920*0.7, height: 1080*0.7, show: true, fullscreen: false, resizable: false, frame: true, }); mainWindow.removeMenu(); mainWindow.loadURL('file://' + __dirname + '/web-mobile/index.html').then(() =>{ }); mainWindow.on('closed', function() { mainWindow = null; });});

目录结构是,其中web-mobile就是Cocos构建出来的h5游戏

Cocos Creator-b站弹幕互动玩法

在package.json文件添加 start

{ // qita "scripts": { "start": "electron ." }, // qita}

执行

npm run start

Cocos Creator-b站弹幕互动玩法

应用就出来了,很方便

直播间输入测试。

Cocos Creator-b站弹幕互动玩法

没毛病。

接下来就直接构建桌面应用包出来吧。

这里采用的是electron-forge来构建,Electron还有其他的工具来构建包例如

electron-builder

electron-packager

安装forge

npm install --save-dev @electron-forge/clinpx electron-forge import

构建,会根据当前系统来构建对应的应用

npm run make

Electron-forge 会创建 out 文件夹,应用包将在那里找到:

Cocos Creator-b站弹幕互动玩法

其中resources下的资源就是我们的h5包的资源以及其他资源

Cocos Creator-b站弹幕互动玩法

当我们发布的时候不想别人看到这些,可以把对应app目录资源压缩成asar资源

安装asar组件

 npm install --engine-strict asar

执行打包即可,把生成的app.asar文件替换掉resources下的资源即可

npx asar pack .outdanmuelectron-win32-x64resourcesapp app.asar

Cocos Creator-b站弹幕互动玩法

至此,应用已经生成,可以直接玩了。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 1月 27日 下午12:31
下一篇 2023年 1月 27日 下午12:44

相关推荐

  • 使用vivo手机,这么多截屏方式你都知道吗

    手机截屏已经不是简简单单的按住HOME键和音量键了!截屏花样百出,你是不是有些看不懂了呢?今天小编就带你看看vivo手机的超级截屏功能,是怎么用的! 操作方法:屏幕下方菜单——选择…

    2023年 7月 19日
  • PDF文档怎么转换成图片(pdf图片怎么转换成word文字)

    现在不管是学习还是办公,PDF文件的转换编辑功能应用都很频繁,虽然现在市面上很多的软件都要收费,但我还是找到了几款能免费使用的网站工具,希望能帮到有需要的朋友,话不多说,下面一起来…

    2023年 2月 2日
  • 苹果手机定时发送短信的方法(coloros 13怎么发送定时短信)

    今天有个粉丝朋友告诉小芳,过几天就是他女朋友生日了,他想在零点的时候给女朋友发短信,但是又害怕起不来,想要我教一下他如何用自己的苹果手机发定时短信。关于这个问题其实是非常简单的,大…

    2023年 5月 17日
  • 怎样设置手机闹铃的响铃时长

    担心上班迟到怎么办,当然是定闹钟了。现在大家都有手机,一般都是用手机定闹钟了。那大家有没有遇到过这样的情况,明明自己定了闹钟,但还是睡过了,因为闹钟响铃的时间太短了,没有把自己叫醒…

    2023年 4月 2日
  • 微信转账买东西被拉黑了怎么办,微信转账被骗没有被拉黑怎么办

    分享生活小妙招,享受科技新生活!大家好,欢迎来到今天的知识分享!我是你们的好朋友小俊! 我们在使用微信买东西或者给人转发付款时,经常会遇到一旦付款成功就被对方拉黑,或者买完东西时就…

    2023年 12月 3日
  • 苹果id如果被盗会出现什么样情况

    近日,部分苹果账号被盗刷金钱的风波愈演愈烈,大有苹果手机=不安全的趋势,当然了,我本身也不喜欢苹果,但苹果ID大面积被盗似乎也早已经不是新鲜事儿,只不过放到世界第一巨头的苹果身上会…

    2023年 1月 4日
  • 锁屏歌词不显示怎么办,如何恢复锁屏歌词设置

    现在,我们用手机听音乐的时候,往往不用解锁打开音乐播放器, ​只在锁屏界面,就能切歌或看歌词, ​像这样 ↓ 真的非常方便呢~ 但如果,锁屏播放音乐时,无法显示这个界面怎么办呢? …

    2023年 9月 1日
  • 小米手环5使用教程怎么修改时间

    小米手环5怎么改时间 小米手环5时间24小时制设置教程 小米手环5怎么把时间改成24小时?很多人习惯使用24小时制来看时间,下文中为大家带来了小米手环5的24小时制设置方法。感兴趣…

    2024年 1月 8日
  • 京东家电发布会直播

    “电视正在由单向娱乐工具,逐步拓展应用范围至教育、游戏等双向互动应用工具。电视的价值将被重构,在5G和AI的支持下为消费者实现智能场景互联生活”,在9月17日的“重构电视价值”峰会…

    2023年 1月 19日
  • 固话呼叫转移怎么设置方法

    马上过年了,固话值班电话呼转设置方法如下: 1、无条件呼叫转移 转移业务登记: 在听到拨号音后,在电话拨号键盘上输入【*57*转接的电话号码#】,输入完成后,会传出“您申请的新业务…

    2023年 4月 16日