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;