#include "13S_BigCardSprite.h" #include "cocostudio/CocoStudio.h" using namespace cocostudio; /////////////////////////////////////////////////////////////////////////// SSSBigCardSprite::SSSBigCardSprite() : m_bCardShoot(false), m_bCardSelect(false), m_cbCardData(0) { } SSSBigCardSprite:: ~SSSBigCardSprite() { } SSSBigCardSprite* SSSBigCardSprite::create(uint8 cbCardData) { SSSBigCardSprite *pRet = new SSSBigCardSprite(); if (pRet && pRet->init(cbCardData)) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; } bool SSSBigCardSprite::init(uint8 cbCardData) { if (!Sprite::init()) { return false; } m_cbCardData = cbCardData; this->ignoreAnchorPointForPosition(false); this->setAnchorPoint(Vec2::ZERO); updateUIData(cbCardData); return true; } void SSSBigCardSprite::updateUIData(uint8 cbCardData) { SpriteFrameCache* pSpriteFrameCache = SpriteFrameCache::getInstance(); //加载牌; std::string strName = StringUtils::format("L_0x%02X.png", cbCardData); SpriteFrame* pSpriteFrame = pSpriteFrameCache->getSpriteFrameByName(strName); CC_ASSERT(pSpriteFrame!=nullptr); this->setSpriteFrame(pSpriteFrame); } void SSSBigCardSprite::onEnter() { Sprite::onEnter(); } void SSSBigCardSprite::onExit() { Sprite::onExit(); } void SSSBigCardSprite::onEnterTransitionDidFinish() { Sprite::onEnterTransitionDidFinish(); } //弹起; void SSSBigCardSprite::shootCard() { toNormal(); m_bCardShoot = true; this->runAction(MoveBy::create(0.1f, Vec2(0,20))); } //落下; void SSSBigCardSprite::downCard() { toNormal(); m_bCardShoot = false; this->runAction(MoveBy::create(0.1f, Vec2(0,-20))); } //变灰; void SSSBigCardSprite::toGray() { m_bCardSelect = true; this->setColor(Color3B(126, 126, 126)); } //正常; void SSSBigCardSprite::toNormal() { m_bCardSelect = false; this->setColor(Color3B(255, 255, 255)); } //判断区域; bool SSSBigCardSprite::containsTouchLocation(Touch *pTouch, int nCardWidth) { Vec2 ptTouch = this->getParent()->convertTouchToNodeSpace(pTouch); Rect rcCardSprite = Rect(this->getPosition().x, this->getPosition().y, nCardWidth, getContentSize().height); return rcCardSprite.containsPoint(ptTouch); }