CocosCreator游戏开发---菜鸟学习之路(三)如何在CocosCreator中使用Pomelo

简介: PS(废话):这段时间都在研究网易的Pomelo框架,作为新手小白,自然遇到了不少坑爹的事情。(当然也有可能是因为自己技术不过关的原因所以导致在很多基础的问题上纠结了很久。)网上也搜索了好久,但是基本都是复制黏贴的教程,按照教程做肯定没有问题,但是对于新手来说个别细节上还是有很多无法理解或者说新手容易犯错的地方。

PS(废话):
这段时间都在研究网易的Pomelo框架,作为新手小白,自然遇到了不少坑爹的事情。(当然也有可能是因为自己技术不过关的原因所以导致在很多基础的问题上纠结了很久。)网上也搜索了好久,但是基本都是复制黏贴的教程,按照教程做肯定没有问题,但是对于新手来说个别细节上还是有很多无法理解或者说新手容易犯错的地方。于是乎我就决定把自己遇到的问题写一下,如果能够帮助以后入坑的同行新手,也算是积了点阴德,避免大家少走弯路,或者说减少研究的时间。
好了废话不多说了,还是抓紧开始正题吧。

序言

虽然Pomelo官方的文档已经对于如何在客户端中使用Pomelo有了比较详细的描述,对于一些大拿来说肯定看了文档就会了,但是奈何鄙人水平实在有限,所以对于CocosCreator这种没有在官方文档内的客户端,自然就不会了。所以就果断搜索了一下 “如何在CocosCreator中使用Pomelo” 。然后基本搜索到的就是利用聊天为例子的那篇文章了----->点击我进入文章
当然例子肯定是没有问题的。但是我自己在使用的时候对于一些细节的问题又产生了疑惑。再加上手贱。。。。所以就有了更大的疑惑了。。。然后就纠结了好久。。

如何在客户端中正确使用Pomelo

  1. 首先去下载ccc-pomelo-chat-client源码,然后把源码中的ccc-pomelo-chat-client/assets/pomelo拷贝到你的 CocosCreator 项目 assets 目录下,这样在你的项目中即可使用 pomelo-client 相关 API 了。
  2. 在onload方法中 初始化pomelo ,带上host 参数,port参数
    img_9af992a319362dcb687cd4a0401ea747.png
  3. 在onload方法中on好对于服务器的各类响应,就像这样
    img_0efff677e0a2302b39e535855495947d.png
  4. 在需要主动发送消息的地方写好request方法或者notify方法(我就是作死死在这里的。)
  5. 然后就大功告成了。

个人手贱遇到的坑

根据官方的API,其实很简单一共也就4个方法,简单的不能再简单了。但往往就是这么简单的几个方法把我绕进去了。。。不得不感叹自己的智商越来越低了。
首先是pomelo.init(params,cb) 这个方法,老实说根据官方的文档,我是有点纠结的。因为他写的是“这通常是客户端的第一次调用”,再加上下载过来的代码是这样子的
img_b8ec6f3663ca1e04102bd2a7276fea90.png

虽然我知道init是初始化的作用,但是我在具体写代码的时候又特么作死了一下,在场景的onload方法中又加了一个request方法,如下图所示
img_c39045239283bced46ad6eb917814a29.png
结果就出错了,之后我又尝试了复制两个init方法,妥妥的成功了,然后就导致我在一瞬间怀疑每一次request请求都要放在Init方法里面。但是作为一名还算写过代码的渣渣程序员来说,知道这个想法肯定是错误的。其正确的顺序肯定是init完了之后你爱去哪里request就去哪里request的。于是乎就纠结了好久。
最后问了群里的人才发现原来是因为我request方法也写在onload方法里面,所以就导致Init方法还没有调用成功,他就在那边request了,这样自然会出错了
(哎果然太久没写代码了就容易闹出这种低级错误=。=)

个人经验小结

客户端的方法中是包含以下几个参数的 route msg cb 而服务端则是 msg session next
首先是对应关系

    客户端的msg对应的就是服务端中msg
    cb对应的就是服务端的next
    而route着是服务端的路由,
    session则是不需要传递的,因为在init的时候已经创建了,在之后的调用中会自动传递。

其次就是参数内的内容了

    route参数就是一串string格式的路由,可以简单的理解为  “服务器.类名.方法名”
    msg内的参数我目前是用key-value的数组(其他格式我目前还没尝试以后有机会会进行尝试)
    cb和next内的参数进行对应。对于初学javascipt的人可能会有些难理解。但是问题不大。
目录
相关文章
|
2月前
|
Web App开发 Java 视频直播
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
对于软件、计算机等专业的毕业生,毕业设计需实现实用软件或APP。新颖的设计应结合最新技术,如5G时代的音视频技术。示例包括: 1. **短视频分享APP**: 集成FFmpeg实现视频剪辑功能,如添加字幕、转场特效等。 2. **电商购物APP**: 具备直播带货功能,使用RTMP/SRT协议支持流畅直播体验。 3. **同城生活APP**: 引入WebRTC技术实现可信的视频通话功能。这些应用不仅实用,还能展示开发者紧跟技术潮流的能力。
81 4
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
|
6月前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系。
|
5月前
|
移动开发 JavaScript 前端开发
程序与技术分享:AppCan入门教程
程序与技术分享:AppCan入门教程
30 0
|
5月前
技术经验分享:GMU简单使用一
技术经验分享:GMU简单使用一
88 0
|
移动开发 小程序 安全
【 uniapp - 黑马优购 | 开篇】uniapp简介与生产工具的安装使用
【 uniapp - 黑马优购 | 开篇】uniapp简介与生产工具的安装使用
128 0
|
6月前
|
编解码 数据可视化 小程序
微信小游戏开发(第一篇
微信小游戏开发(第一篇
288 0
|
存储 移动开发 前端开发
「干货」从菜鸟到大神,前端学习书籍推荐
「干货」从菜鸟到大神,前端学习书籍推荐
52 0
|
编译器 Linux C语言
带领你打开C++的神秘之门--完结篇(上)
带领你打开C++的神秘之门--完结篇
125 0
|
编译器 程序员 C语言
带领你打开C++神秘之门--入门篇
带领你打开C++神秘之门--入门篇
53 0
|
存储 安全 编译器
带领你打开C++的神秘之门--完结篇(中)
带领你打开C++的神秘之门--完结篇
94 0