|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJ=MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
- local huamajiangFanLuoBoView = class("huamajiangFanLuoBoView", cc.UIView);
-
- function huamajiangFanLuoBoView:ctor (desktopType)
- huamajiangFanLuoBoView.super.ctor(self);
- self.desktopType = MJDefine.DesktopType.TwoD;
- self:loadUI();
- end
-
- function huamajiangFanLuoBoView:onEnter ()
- huamajiangFanLuoBoView.super.onEnter(self);
- self:initViews();
- end
-
- function huamajiangFanLuoBoView:loadUI( )
- local ui = loadUI("mj_huamajiang/res/ui_fangjian/mj_huamajiang_fanluobo.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function huamajiangFanLuoBoView:initViews ()
- self.ui.Items.Layout_LuoBoCards:setTouchEnabled(true);
- end
-
- function huamajiangFanLuoBoView:setCards (cards)
- self:clearCards();
-
- local layoutCards = self.ui.Items.Layout_LuoBoCards;
- for k, v in ipairs(cards or {}) do
- local card = self:createCard(k, v, false, table.nums(cards));
- local cardBlack = self:createCard(k, v, true, table.nums(cards));
- layoutCards:addChild(card);
- layoutCards:addChild(cardBlack);
- end
- self:startOpenCard();
- end
-
- function huamajiangFanLuoBoView:startOpenCard ()
- local layoutCards = self.ui.Items.Layout_LuoBoCards;
- local num = layoutCards:getChildrenCount()
- for i = 1, num do
- local card = layoutCards:getChildByName("card_" .. i);
- local cardBlack = layoutCards:getChildByName("card_black_" .. i);
- if card and cardBlack then
- card:setScale(cc.p(0, 1.7));
- local acScaleBlack = cc.ScaleTo:create(0.1, 0, 1.7, 1);
- local acScaleBlackCb = cc.CallFunc:create(function ()
- local acScale = cc.ScaleTo:create(0.1, 1.7, 1.7, 1);
- local acCallFunc = cc.CallFunc:create(function ()
- self:runDelay(1.0, function ()
- self:setVisible(false);
- self:clearCards();
- end);
- end);
- card:runAction(cc.Sequence:create(acScale, acCallFunc));
- end);
- cardBlack:runAction(cc.Sequence:create(acScaleBlack, acScaleBlackCb));
- end
- end
- end
-
- function huamajiangFanLuoBoView:createCard (index, card, isBlack, count)
- local mjType = isBlack and MJDefine.MJType.OutBlack or MJDefine.MJType.Operate;
- local cardName = isBlack and string.format("card_black_%s", index) or string.format("card_%s", index);
- local card = MJ:new(card, mjType, MJDefine.PlayerViewType.My, self.desktopType);
- local scale = 1.7;
- local layoutWidth = 200;
- local w = card:getContentSize().width * scale;
- -- local x = layoutWidth / 2 + (index - 1) * (w + 40) - (w + 40) * count / 2 + (w + 40) / 2;
- local x = layoutWidth / 2 + (index - 1) * (w + 40) - (w + 40) * (count - 1) / 2;
- card:setAnchorPoint(cc.p(0.5, 0.5));
- card:setPositionX(x);
- card:setScale(scale);
- card:setName(cardName);
- return card;
- end
-
- function huamajiangFanLuoBoView:clearCards( )
- self.ui.Items.Layout_LuoBoCards:removeAllChildren();
- end
-
- return huamajiangFanLuoBoView;
|