近段时间一直在研究SFS2X,设计上还是像SFS之前所有版本一样灰常人性化,以下是学习过程中的详细测用记录,每个事件产生的相关对象参数可于listener方法输出查看详细!
- package {
- import flash.system.System;
- import com.smartfoxserver.v2.requests.LoginRequest;
- import flash.events.MouseEvent;
- import com.smartfoxserver.v2.core.SFSEvent;
- import com.smartfoxserver.v2.SmartFox;
- import flash.display.Sprite;
- \**
- * @author ASCHORD
- * SFS2X客户端全部事件详细
- *\
- [SWF(backgroundColor="#FFFFFF", frameRate="31", width="554", height="400")]
- public class SFS extends Sprite {
- System.useCodePage = false;
- private var sfs : SmartFox;
- public function SFS() {
- sfs = new SmartFox();
- //接收服务器超管信息事件
- sfs.addEventListener(SFSEvent.ADMIN_MESSAGE, listener);
- //接收加载配置文件失败事件
- sfs.addEventListener(SFSEvent.CONFIG_LOAD_FAILURE, listener);
- //接收加载配置文件成功事件
- sfs.addEventListener(SFSEvent.CONFIG_LOAD_SUCCESS, listener);
- //接收连接服务器成功事件
- sfs.addEventListener(SFSEvent.CONNECTION, listener);
- //接收连接服务器失败事件
- sfs.addEventListener(SFSEvent.CONNECTION_LOST, listener);
- //接收连接服务器恢复事件
- sfs.addEventListener(SFSEvent.CONNECTION_RESUME, listener);
- //接收重试服务器连接事件
- sfs.addEventListener(SFSEvent.CONNECTION_RETRY, listener);
- //接收响应后台扩展事件
- sfs.addEventListener(SFSEvent.EXTENSION_RESPONSE, listener);
- //接收用户邀请事件
- sfs.addEventListener(SFSEvent.INVITATION, listener);
- //接收用户邀请事件
- sfs.addEventListener(SFSEvent.INVITATION_REPLY, listener);
- //接收被邀请用户的回复事件
- sfs.addEventListener(SFSEvent.INVITATION_REPLY_ERROR, listener);
- //接收用户登陆区域事件
- sfs.addEventListener(SFSEvent.LOGIN, listener);
- //接收用户登区错误事件
- sfs.addEventListener(SFSEvent.LOGIN_ERROR, listener);
- //接收用户登出区域事件
- sfs.addEventListener(SFSEvent.LOGOUT, listener);
- //接收用户登出区域事件
- sfs.addEventListener(SFSEvent.MODERATOR_MESSAGE, listener);
- //接收领头者消息事件
- sfs.addEventListener(SFSEvent.OBJECT_MESSAGE, listener);
- //接收游戏者成功转换为观察者事件
- sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR, listener);
- //接收游戏者转换为观察者错误事件
- sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR_ERROR, listener);
- //接收私人消息事件
- sfs.addEventListener(SFSEvent.PRIVATE_MESSAGE, listener);
- //接收公共消息事件
- sfs.addEventListener(SFSEvent.PUBLIC_MESSAGE, listener);
- //接收创建房间事件
- sfs.addEventListener(SFSEvent.ROOM_ADD, listener);
- //接收房间基础属性改变事件
- sfs.addEventListener(SFSEvent.ROOM_CAPACITY_CHANGE, listener);
- //接收房间基础属性改变错误事件
- sfs.addEventListener(SFSEvent.ROOM_CAPACITY_CHANGE_ERROR, listener);
- //接收查找房间的信息结果事件
- sfs.addEventListener(SFSEvent.ROOM_FIND_RESULT, listener);
- //接收订阅一个房间组事件
- sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE, listener);
- //接收订阅一个房间组错误事件
- sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE_ERROR, listener);
- //接收创建房间错误事件
- sfs.addEventListener(SFSEvent.ROOM_CREATION_ERROR, listener);
- //接收取消已订阅的一个房间组事件
- sfs.addEventListener(SFSEvent.ROOM_GROUP_UNSUBSCRIBE, listener);
- //接收取消已订阅的一个房间组错误事件
- sfs.addEventListener(SFSEvent.ROOM_GROUP_UNSUBSCRIBE_ERROR, listener);
- //接收进入房间事件
- sfs.addEventListener(SFSEvent.ROOM_JOIN, listener);
- //接收进入房间错误事件
- sfs.addEventListener(SFSEvent.ROOM_JOIN_ERROR, listener);
- //接收房间名更改事件
- sfs.addEventListener(SFSEvent.ROOM_NAME_CHANGE, listener);
- //接收房间名更改错误事件
- sfs.addEventListener(SFSEvent.ROOM_NAME_CHANGE_ERROR, listener);
- //接收房间密码更改事件
- sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE, listener);
- //接收房间密码更改错误事件
- sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE_ERROR, listener);
- //接收删除房间事件
- sfs.addEventListener(SFSEvent.ROOM_REMOVE, listener);
- //接收房间变量更新事件
- sfs.addEventListener(SFSEvent.ROOM_VARIABLES_UPDATE, listener);
- //接收观察者转换为游戏者事件
- sfs.addEventListener(SFSEvent.SPECTATOR_TO_PLAYER, listener);
- //接收观察者转换为游戏者错误事件
- sfs.addEventListener(SFSEvent.SPECTATOR_TO_PLAYER_ERROR, listener);
- //接收连续的UDP包数据事件(针对AIR)
- sfs.addEventListener(SFSEvent.UDP_INIT, listener);
- //接收在线用户数量更新事件
- sfs.addEventListener(SFSEvent.USER_COUNT_CHANGE, listener);
- //接收用户退出事件
- sfs.addEventListener(SFSEvent.USER_EXIT_ROOM, listener);
- //接收查找用户的信息结果事件
- sfs.addEventListener(SFSEvent.USER_FIND_RESULT, listener);
- //接收用户变更更新事件
- sfs.addEventListener(SFSEvent.USER_VARIABLES_UPDATE, listener);
- //加载服务器配置文件
- sfs.loadConfig();
- //测试事件用
- stage.addEventListener(MouseEvent.CLICK, onMouseClick);
- }
- private function listener(event : SFSEvent) : void {
- trace("发生客户端事件:[" + event.type + "]");
- for(var evtName:String in event.params) {
- trace(" 事件所接收的参数键值对:《" + evtName + " :" + event.params[evtName] + "》");
- }
- }
- private function onMouseClick(event : MouseEvent) : void {
- trace("=====测试事件=====");
- sfs.send(new LoginRequest("じ☆ve弦", "ASCHORD"));
- }
- }
- }