#include "PDK_SmallCardSprite.h" #include "CardDefine.h" #include "cocostudio/CocoStudio.h" using namespace cocostudio; /////////////////////////////////////////////////////////////////////////// PDKSmallCardSprite::PDKSmallCardSprite() : m_pRootPanel(NULL) { } PDKSmallCardSprite:: ~PDKSmallCardSprite() { } PDKSmallCardSprite* PDKSmallCardSprite::create(uint8 cbCardData) { PDKSmallCardSprite *pRet = new PDKSmallCardSprite(); if (pRet && pRet->init(cbCardData)) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; } bool PDKSmallCardSprite::init(uint8 cbCardData) { if (!Node::init()) { return false; } //加载界面数据 m_pRootPanel = CSLoader::createNode("Games/DDZ/SmallCardSprite.csb"); this->addChild(m_pRootPanel); this->ignoreAnchorPointForPosition(false); this->setAnchorPoint(Vec2::ZERO); this->setContentSize(m_pRootPanel->getContentSize()); //绑定界面元素 _imgCardBack = static_cast(m_pRootPanel->getChildByName("imgCardBack")); CC_ASSERT(_imgCardBack != nullptr); //牌值 _imgCardNum = static_cast(m_pRootPanel->getChildByName("imgCardNum")); CC_ASSERT(_imgCardNum != nullptr); //花色 _imgCardColor = static_cast(m_pRootPanel->getChildByName("imgCardColor")); CC_ASSERT(_imgCardColor != nullptr); _imgCardMark = static_cast(m_pRootPanel->getChildByName("imgCardMark")); CC_ASSERT(_imgCardMark != nullptr); //角标 _imgCardCorner = static_cast(m_pRootPanel->getChildByName("imgCardCorner")); CC_ASSERT(_imgCardCorner != nullptr); SpriteFrameCache* pSpriteFrameCache = SpriteFrameCache::getInstance(); pSpriteFrameCache->addSpriteFramesWithFile("Games/DDZ/Table/PinCard.plist"); updateUIData(cbCardData); return true; } void PDKSmallCardSprite::updateUIData(uint8 cbCardData) { SpriteFrameCache* pSpriteFrameCache = SpriteFrameCache::getInstance(); //加载牌背 if (cbCardData == 0) { _imgCardNum->setVisible(false); _imgCardColor->setVisible(false); _imgCardMark->setVisible(false); _imgCardCorner->setVisible(false); _imgCardBack->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardBack.png")); } else { _imgCardNum->setVisible(true); _imgCardColor->setVisible(true); _imgCardMark->setVisible(true); _imgCardCorner->setVisible(false); int nCardColor = m_ClientLogic.GetCardColor(cbCardData); int nCardValue = m_ClientLogic.GetCardValue(cbCardData); _imgCardBack->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardFront.png")); //if (m_ClientLogic.IsLaiZiCard(cbCardData)) //{ // if (nCardColor == CCLR_DIAMONDS || nCardColor == CCLR_HEART) //方块、红桃 // { // _imgCardNum->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardNum1%d.png", nCardValue))); // } // else if (nCardColor == CCLR_PLUM || nCardColor == CCLR_SPADE) //梅花、黑桃 // { // _imgCardNum->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardNum2%d.png", nCardValue))); // } // else // { // //赖子 // _imgCardNum->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardNum1%d.png", nCardValue))); // } // _imgCardColor->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor4.png")); // _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("bCardColor14.png")); //} //else { if (nCardColor == CCLR_DIAMONDS || nCardColor == CCLR_HEART) //方块、红桃 { SpriteFrame* pCardNumSpriteFrame = pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardNum1%d.png", nCardValue)); CC_ASSERT(pCardNumSpriteFrame!=nullptr); _imgCardNum->setSpriteFrame(pCardNumSpriteFrame); if (nCardColor == CCLR_DIAMONDS)//方块 { _imgCardColor->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor0.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("bCardColor10.png")); } else //红桃 { _imgCardColor->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor2.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("bCardColor12.png")); } //if (nCardValue >= CVAL_J && nCardValue <= CVAL_K) //{ // SpriteFrame* pCardColorSpriteFrame = pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardColor1%d.png", nCardValue - 6)); // CC_ASSERT(pCardColorSpriteFrame != nullptr); // _imgCardMark->setSpriteFrame(pCardColorSpriteFrame); //} } else if (nCardColor == CCLR_PLUM || nCardColor == CCLR_SPADE) //梅花、黑桃 { SpriteFrame* pCardNumSpriteFrame = pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardNum2%d.png", nCardValue)); CC_ASSERT(pCardNumSpriteFrame != nullptr); _imgCardNum->setSpriteFrame(pCardNumSpriteFrame); if (nCardColor == CCLR_PLUM) //梅花 { _imgCardColor->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor1.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("bCardColor11.png")); } else //黑桃 { _imgCardColor->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor3.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("bCardColor13.png")); } //if (nCardValue >= CVAL_J && nCardValue <= CVAL_K) //{ // SpriteFrame* pCardColorSpriteFrame = pSpriteFrameCache->getSpriteFrameByName(StringUtils::format("sCardColor2%d.png", nCardValue - 6)); // CC_ASSERT(pCardColorSpriteFrame != nullptr); // _imgCardMark->setSpriteFrame(pCardColorSpriteFrame); //} } else if (nCardColor == CCLR_JOKER) //王牌 { _imgCardColor->setVisible(false); if (nCardValue == CVAL_LITTLE_JOKER) { _imgCardNum->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardNum214.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor28.png")); } else if (nCardValue == CVAL_BIG_JOKER) { _imgCardNum->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardNum114.png")); _imgCardMark->setSpriteFrame(pSpriteFrameCache->getSpriteFrameByName("sCardColor18.png")); } } } } } void PDKSmallCardSprite::onEnter() { Node::onEnter(); } void PDKSmallCardSprite::onExit() { Node::onExit(); } void PDKSmallCardSprite::onEnterTransitionDidFinish() { Node::onEnterTransitionDidFinish(); }