



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Cocos2dx實現(xiàn)數(shù)字跳動效果本文實例為大家分享了Cocos2dx實現(xiàn)數(shù)字跳動效果的具體代碼,供大家參考,具體內(nèi)容如下
封裝的類如下:
.h文件
classDigitalBeatText:publiccocos2d::Node
public:
DigitalBeatText();
~DigitalBeatText();
staticDigitalBeatText*create(intvalue);
voidsetValue(intnewValue);
protected:
boolinit(intvalue);
voidsetValueNoAction(intnewValue);
voidstartRoll();
voidstopRoll();
voidonTimeHandler(floatdt);
protected:
cocos2d::ui::Text*m_txt;
intm_lastValue;
intm_newValue;
intm_valueGap;//數(shù)字跳動間隔
floatm_scheduleInterval;//調(diào)度器間隔
boolm_isReverse;//true:從大到小
};
.cpp文件:
DigitalBeatText::DigitalBeatText()
:m_txt(nullptr)
,m_lastValue(0)
,m_newValue(0)
,m_valueGap(0)
,m_scheduleInterval(1.0f/60.f)
,m_isReverse(false)
DigitalBeatText::~DigitalBeatText()
DigitalBeatText*DigitalBeatText::create(intvalue)
autopRet=newDigitalBeatText;
if(pRet-init(value))
pRet-autorelease();
returnpRet;
CC_SAFE_DELETE(pRet);
returnnullptr;
boolDigitalBeatText::init(intvalue)
if(!Node::init()){
returnfalse;
charbuff[16]={0};
m_txt=ui::Text::create();
m_txt-setFontSize(36);
sprintf(buff,"%d",value);
m_txt-setString(buff);
this-addChild(m_txt);
returntrue;
voidDigitalBeatText::setValue(intnewValue)
m_isReverse=newValuem_lastValue;
stopRoll();
m_newValue=newValue;
startRoll();
voidDigitalBeatText::setValueNoAction(intnewValue)
m_lastValue=newValue;
m_newValue=newValue;
m_txt-setString(cocos2d::StringUtils::toString(m_lastValue));
voidDigitalBeatText::startRoll()
intcount=m_newValue-m_lastValue;
if(count0){
m_valueGap=ceil(count/(1.0/m_scheduleInterval));
}else{
m_valueGap=floor(count/(1.0/m_scheduleInterval));
schedule(CC_SCHEDULE_SELECTOR(DigitalBeatText::onTimeHandler),m_scheduleInterval);
voidDigitalBeatText::stopRoll()
unschedule(CC_SCHEDULE_SELECTOR(DigitalBeatText::onTimeHandler));
voidDigitalBeatText::onTimeHandler(floatdt)
m_lastValue+=m_valueGap;
boolstop=false;
if(!m_isReverse)
if(m_lastValue=m_newValue){
m_lastValue=m_newValue;
stop=true;
else{
if(m_lastValue=m_newValue){
m_lastValue=m_newValue;
stop=true;
m_txt-setString(cocos2d::StringUtils::toString(m_lastValue));
if(stop){
this-stopRoll();
}
使用示例:
m_index=1;
m_beatT=DigitalBeatText::create(m_index);
m_beatT-setPosition(visibleSize*0.5);
this-addChild(m_beatT);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)用超聲治療設(shè)備合作協(xié)議書
- 2025年新型全液壓鉆機合作協(xié)議書
- 2025年煤炭采掘機械設(shè)備合作協(xié)議書
- 2025年高等教育服務(wù)項目發(fā)展計劃
- 農(nóng)業(yè)種質(zhì)資源保護(hù)利用合作協(xié)議
- 2025年家用塑膠墊項目發(fā)展計劃
- 金融投資顧問服務(wù)協(xié)議及保密條款
- 假期旅游企業(yè)批準(zhǔn)旅游證明(5篇)
- 建筑工程代理咨詢服務(wù)合同
- 財務(wù)證明書個人銀行流水證明(6篇)
- 2023年高考俄語試題
- 生產(chǎn)性服務(wù)業(yè)集聚對我國制造業(yè)全球價值鏈地位影響的門檻效應(yīng)研究
- 西南師大版二年級下冊遞等式計算練習(xí)300題及答案
- kpu鞋面工藝流程
- 圖形設(shè)計方法同構(gòu)、替構(gòu)、解構(gòu)、重構(gòu)
- 中華民族共同體建設(shè)實踐探索
- SCA涂膠機內(nèi)部培訓(xùn)資料課件
- 部編人教版3三年級《道德與法治》下冊電子課本課件
- 新課標(biāo)人教版六年級數(shù)學(xué)上冊教材分析課件
- 稅務(wù)會計學(xué)(第 14版)習(xí)題參考答案
- 海康產(chǎn)品及公司介紹全系列
評論
0/150
提交評論