mirror of
https://github.com/wu736139669/SmallGame_Cocos2dx.git
synced 2026-08-05 06:23:09 +00:00
143 lines
3.6 KiB
C++
143 lines
3.6 KiB
C++
//
|
|
// GameShare_Score.cpp
|
|
// OnceAgain
|
|
//
|
|
// Created by mac on 14-3-6.
|
|
//
|
|
//
|
|
|
|
#include "GameShare_Score.h"
|
|
#include "CounterByImage.h"
|
|
const float yValue = 50.0;
|
|
const float xValue = 25.0;
|
|
|
|
GameShare_Score::~GameShare_Score()
|
|
{
|
|
|
|
}
|
|
|
|
bool GameShare_Score::init()
|
|
{
|
|
if (!CCSprite::init()) {
|
|
return false;
|
|
}
|
|
this->setContentSize(CCSize(245, 121));
|
|
score = 0;
|
|
|
|
//背景图片
|
|
// CCSprite *scoreBgSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoopang_image, CCRect(694, 820, 245, 121));
|
|
mpBg = CCSprite::createWithSpriteFrameName("common/score_bg.png");
|
|
this->addChild(mpBg);
|
|
scroeSprite = CCSprite::create();
|
|
this->addChild(scroeSprite);
|
|
scroeSprite->setVisible(false);
|
|
|
|
VEC_NUMFILENAME vecNumFileName;
|
|
for (int i = 0; i < 10; ++i)
|
|
{
|
|
CCString str;
|
|
str.initWithFormat("common/game_score_%d.png",i);
|
|
vecNumFileName.push_back(str.getCString());
|
|
}
|
|
mpCounterImage = CCounterImage::create(vecNumFileName,"common/game_score_dot.png");
|
|
mpCounterImage->setPositionY(-20);
|
|
mpCounterImage->setCellNumberWidth(32);
|
|
addChild(mpCounterImage);
|
|
//mpCounterImage->setVisible(false);
|
|
this->setScore(0);
|
|
return true;
|
|
}
|
|
|
|
void GameShare_Score::setScore(long var)
|
|
{
|
|
score = var;
|
|
mpCounterImage->setNumber(score,true);
|
|
long temp = score;
|
|
//位数,用于设置横坐标偏移量.
|
|
int digit = 0;
|
|
scroeSprite->removeAllChildren();
|
|
|
|
while (temp>0 || (digit==0 && temp==0)) {
|
|
int remainder = temp % 10;
|
|
temp = temp/10;
|
|
CCSprite *m_Sprite = CCSprite::create();
|
|
CCRect rc;
|
|
switch(remainder)
|
|
{
|
|
case 0:
|
|
{
|
|
rc.setRect(1694, 972, 70, 70);
|
|
break;
|
|
}
|
|
case 1:
|
|
{
|
|
rc.setRect(1, 1279, 47, 85);
|
|
break;
|
|
}
|
|
case 2:
|
|
{
|
|
rc.setRect(337, 1054, 68, 86);
|
|
break;
|
|
}
|
|
case 3:
|
|
{
|
|
rc.setRect(1687, 1417, 69, 84);
|
|
break;
|
|
}
|
|
case 4:
|
|
{
|
|
rc.setRect(401, 1691, 71, 83);
|
|
break;
|
|
}
|
|
case 5:
|
|
{
|
|
rc.setRect(1699, 105, 70, 85);
|
|
break;
|
|
}
|
|
case 6:
|
|
{
|
|
rc.setRect(981, 1714, 69, 91);
|
|
break;
|
|
}
|
|
case 7:
|
|
{
|
|
rc.setRect(359, 897, 64, 85);
|
|
break;
|
|
}
|
|
case 8:
|
|
{
|
|
rc.setRect(348, 1517, 72, 88);
|
|
break;
|
|
}
|
|
case 9:
|
|
{
|
|
rc.setRect(191, 1699, 65, 91);
|
|
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
m_Sprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoopang_image, rc);
|
|
m_Sprite->setScaleX(xValue / rc.size.width);
|
|
m_Sprite->setScaleY(yValue / rc.size.height);
|
|
m_Sprite->setPosition(ccp((digit+(digit/3))*(-20), 0));
|
|
scroeSprite->addChild(m_Sprite);
|
|
if (digit%3==0 && digit>0) {
|
|
CCSprite *comma = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoopang_image, CCRect(252, 1076, 32, 36));
|
|
comma->setScale(0.5);
|
|
comma->setPosition(ccp(m_Sprite->getPositionX()+20, -20));
|
|
scroeSprite->addChild(comma);
|
|
}
|
|
digit++;
|
|
}
|
|
scroeSprite->setPosition(ccp(digit*12 - 17, -25));
|
|
}
|
|
long GameShare_Score::getScore()
|
|
{
|
|
return score;
|
|
}
|