local MJSound = MJFramework.MJImport("mj.luaScript.MJSound") local Mahjong3DOutCardView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Common.3d.Mahjong3DOutCardView") local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine") local OutCardView3D = class("OutCardView3D", Mahjong3DOutCardView) function OutCardView3D:ctor(...) OutCardView3D.super.ctor(self, ...) end function OutCardView3D:onOutCard(card, callback) MJSound.PlayOutCard() self:addCard(card) self:refreshZOrder() if callback then callback() end self:runOutCardAction(card) end --³öÅÆ¶¯»­ function OutCardView3D:runOutCardAction(value,callback) local outCard=self._outCardNodes[#self._outCardNodes] local linshui_mj_color = loadUserInfo("mj_linshui_desktop_2d_mjType") or MJDefine.DesktopType.TwoDL CardClass = require("mj_linshui.luaScript.Views.3d.Card_3d")--MJDefine.MJConfig_3d.MAHJONG_CARD local showCard = CardClass:new(value, 4, MJDefine.MJConfig_2d.MJType.Stand, 1) --local showCard=MJ:new(value,MJDefine.MJType.Stand,MJDefine.MyViewId,self.desktopType) self:addChild(showCard) showCard:setLocalZOrder(9999) --showCard:setScale(MJDefine.MJ_OUT_CARD_SCALE) showCardPostion = { [1] = {x = 1015*g_radio_x, y = 423*g_radio_y}, [2] = {x = 641*g_radio_x, y = 571*g_radio_y}, [3] = {x = 265*g_radio_x, y = 423*g_radio_y}, [4] = {x = 640*g_radio_x, y = 210*g_radio_y}, } showCard:setPosition(showCardPostion[self._viewId]) local rotate=0 if self._viewId==MJDefine.PlayerViewType.Left then rotate=-45 elseif self._viewId==MJDefine.PlayerViewType.Right then rotate=45 end local actions={ --cc.ScaleTo:create(MJDefine.MJ_TIME_OUT_CARD_SCALE,1), cc.DelayTime:create(MJDefine.MJ_TIME_OUT_CARD_WAIT), --[[cc.Spawn:create( cc.Spawn:create( cc.MoveTo:create(MJDefine.MJ_TIME_OUT_CARD,outCard:getPosition()), cc.ScaleTo:create(MJDefine.MJ_TIME_OUT_CARD,MJDefine.MJ_OUT_CARD_SCALE) ), cc.RotateBy:create(MJDefine.MJ_TIME_OUT_CARD,rotate) ),--]] cc.CallFunc:create(function() -- MJSound.PlayOutCard() if outCard and not tolua.isnull(outCard) then --outCard:setVisible(true) end if callback then callback() end end), cc.RemoveSelf:create(), } showCard:runAction(cc.Sequence:create(actions)) end function OutCardView3D:onSelectCard(event) if not event then return end local value = event.value; for k, v in ipairs(self._outCardNodes or {}) do if (not value) or value <= 0 then v:setNormalColor() else if v:getValue() == value then v:setColor(cc.c3b(243, 147, 9)) else v:setNormalColor() end end end end return OutCardView3D