Files
wnmj-normal/Classes/Games/13S/13S_BigCardSprite.cpp

112 lines
2.2 KiB
C++
Raw Normal View History

2026-03-03 13:56:44 +08:00
#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);
}