1.连接SFS

2.如果连接(触发 onConnection)成功就登陆

3.如果登陆(触发onLogin)成功,接着会自动获取房间列表(触发onRoomListUpdate),如果成功,自动或者手动加入一个房间(joinRoom方法)。

4.成功加入房间(触发onJoinRoom),获取下房间名字以及该房间的用户列表, 并加载房间, 初始化自己的虚拟形象,将该形象需要客户端共享的变量传给服务器端(setUserVariables)初始化其他的虚拟形象,getVariables返回所有用户的变量列表,通过这些从服务器端获取的变量,设置其它人此时的状态

5.此时,已经完成 连接,登陆,加入场景,初始化自己的虚拟形象和其他虚拟形象,下面需要做的是移动,为了实时看见其它虚拟形象的移动(动作,颜色等需要其它玩家实时看见的),需要用setUserVariables 传变量给服务器端,无论什么时候只要用户变量初始化或者更新都会触发onUserVariables, 然后再触发函数里面通过getVariable()从服务器端获取此时虚拟形象的状态(坐标,颜色,服装等),从而进行控制。这样就形成了多人在线社区的实时功能

6. 用户进入或离开房间,当用joinRoom方法成功进入到另一个房间时,也意味着成功离开了当前房间(除了第一次进入社区的情况外),这个时候会触发onUserEnterRoom和onUserLeaveRoom事件,当用户离开的时候,需要获得离开房间的用户对象,然后便利删除该对象,同样进入房间的时候把该用户加入用户列表

7.公用聊天,用sendPublicMessage() 发送公共消息, 触发onPublicMessage 事件处理该消息