达达麻将”开房”
目录
达达麻将版图
寻找客户端发送逻辑
1: 找到创建按钮,并找到关联的函数 --> hall.js: onCreateRoomClicked;
btn_create_room组件按钮----响应JS函数onCreateRoomClicked
onCreateRoomClicked:function(){
if(cc.vv.gameNetMgr.roomId != null){
cc.vv.alert.show("提示","房间已经创建!\n必须解散当前房间才能创建新的房间");
return;
}
console.log("onCreateRoomClicked");
this.createRoomWin.active = true;
},
寻找this.createRoomWin.active = true; 这句的作用,是在UI界面处理的,代码里面没有做处理:
原来是激活创建房间UI组件。
2: 显示出创建房间的界面,找到这个界面的挂载脚本: createRoom.js
CreateRoom.js的onBtnOK();
3: 创建列表,配置创建的参数, createRoom函数将命令通过http发送到大厅服务器;
createRoom:function(){
var self = this;
var onCreate = function(ret){
if(ret.errcode !== 0){
cc.vv.wc.hide();
//console.log(ret.errmsg);
if(ret.errcode == 2222){
cc.vv.alert.show("提示","房卡不足,创建房间失败!");
}
else{
cc.vv.alert.show("提示","创建房间失败,错误码:" + ret.errcode);
}
}
else{
cc.vv.gameNetMgr.connectGameServer(ret);
}
};
var difen = 0;
for(var i = 0; i < self._difenxuanze.length; ++i){
if(self._difenxuanze[i].checked){
difen = i;
break;
}
}
var zimo = 0;
for(var i = 0; i < self._zimo.length; ++i){
if(self._zimo[i].checked){
zimo = i;
break;
}
}
var huansanzhang = self._wanfaxuanze[0].checked;
var jiangdui = self._wanfaxuanze[1].checked;
var menqing = self._wanfaxuanze[2].checked;
var tiandihu = self._wanfaxuanze[3].checked;
var type = 0;
for(var i = 0; i < self._leixingxuanze.length; ++i){
if(self._leixingxuanze[i].checked){
type = i;
break;
}
}
if(type == 0){
type = "xzdd";
}
else{
type = "xlch";
}
var zuidafanshu = 0;
for(var i = 0; i < self._zuidafanshu.length; ++i){
if(self._zuidafanshu[i].checked){
zuidafanshu = i;
break;
}
}
var jushuxuanze = 0;
for(var i = 0; i < self._jushuxuanze.length; ++i){
if(self._jushuxuanze[i].checked){
jushuxuanze = i;
break;
}
}
var dianganghua = 0;
for(var i = 0; i < self._dianganghua.length; ++i){
if(self._dianganghua[i].checked){
dianganghua = i;
break;
}
}
var conf = {
type:type,
difen:difen,
zimo:zimo,
jiangdui:jiangdui,
huansanzhang:huansanzhang,
zuidafanshu:zuidafanshu,
jushuxuanze:jushux