CocosCreator + 在线角色扮演社区(2) 简易教程

http://www.cocoachina.com/bbs/read.php?tid=458895&page=1&toread=1#tpc
New: 教程司令部已经更新了教程 往后不再使用链式的教程结构

接着上一篇 我们把服务器接上

这次同样不从头开始敲代码了 仅做一个介绍

同样先体验一个功能 首先下载node.js代码 http://pan.baidu.com/s/1o6WKXtC,1

下载后解压吧

然后进入到serverFinal.js目录下 在该目录下运行node serverFinal.js (关于SocketIO的内容这里不再赘述 请参考之前的SokcetIO简易教程)

然后运行我们前一篇介绍里面的CocosCreator Coordinate 项目

效果如图 右上角为你的ID

然后再运行一个CocosCreator Coordinate 项目 就能看到同步的登录了 已经在线的用户 会收到登录的消息 新登录的用户还是只显示自己的ID 服务器会打印新连接的用户 后面的数字为ID

然后我们让二号玩家离线吧 将后一个窗口关掉

这时候 服务器会打印离开的用户 其他用户也会收到用户离开的消息 并且离线的用户会从当前界面中消失

好了 大概就是这样 那么下面我们开始思路和代码的介绍吧

首先是登录

(#这里插入一段小的知识)
{
socket.io中
application 级别的变量 放到 io.on(connection,function(){}) 之前
session 级别的变量 作为 socket的属性
requrest级别的变量 socket.on(‘eventName’,function(data)){} data就是request
socket之间的变量 放在io.connection(connection,function(){
var 这里;
socket.on(‘A’,function(){
这里 = true
});

socket.on('B’function()
{if(这里)
该去哪里去哪里;
});
});
}

登录无非做这两件事
一个是自己登录 -> 需要在画布上画出所有在线的用户
一个是别人登录 -> 需要在画布上画出新登录的用户

那么思路就很简单了 将 ’画用户‘ 这个函数 单独出来 一个用for循环画用户 一个就直接话用户就行了

登录就介绍到这里

后面讲离线

离线要做两件事
一是服务器要删除这个用户
二是通知其他客户端在画布上删除这个用户

js删除数组中某一项的方法有很多 这里选用delete 是为了维持UserID的序号不变 等输入框出来之后就可以优化这个方案

这里使用到了prefab 下一篇帖子中将会修改prefab 我们将在下一篇帖子中再一起讲

下一篇帖子将会介绍移动的同步

http://www.cocoachina.com/bbs/read.php?tid=458895&page=1&toread=1#tpc
http://www.cocoachina.com/bbs/read.php?tid-458739.html

大侠收我为徒吧,膜拜,:7::7::7: