112 lines
2.2 KiB
C++
112 lines
2.2 KiB
C++
|
|
|
|||
|
|
#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();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
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();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
void SSSBigCardSprite::shootCard()
|
|||
|
|
{
|
|||
|
|
toNormal();
|
|||
|
|
|
|||
|
|
m_bCardShoot = true;
|
|||
|
|
this->runAction(MoveBy::create(0.1f, Vec2(0,20)));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
void SSSBigCardSprite::downCard()
|
|||
|
|
{
|
|||
|
|
toNormal();
|
|||
|
|
|
|||
|
|
m_bCardShoot = false;
|
|||
|
|
this->runAction(MoveBy::create(0.1f, Vec2(0,-20)));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
void SSSBigCardSprite::toGray()
|
|||
|
|
{
|
|||
|
|
m_bCardSelect = true;
|
|||
|
|
this->setColor(Color3B(126, 126, 126));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
void SSSBigCardSprite::toNormal()
|
|||
|
|
{
|
|||
|
|
m_bCardSelect = false;
|
|||
|
|
this->setColor(Color3B(255, 255, 255));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
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);
|
|||
|
|
}
|
|||
|
|
|