遊戲中有時候需要滾動計數顯示,比如新增金幣從100滾動顯示到9999,這裡封裝乙個動作,直接傳入label即可,方便使用。
使用時呼叫utilslabel裡面的方法即可。
//
// utilslabel.hpp
// actionlabel
//// created by xujw on 16/3/7.
////
#ifndef utilslabel_h
#define utilslabel_h
#include
#include "cocos2d.h"
using_ns_cc;
typedef
enum labelformat
klabelformat;
class utilslabel
;#endif /* utilslabel_h */
//// utilslabel.cpp
// actionlabel
//// created by xujw on 16/3/7.
////
#include "utilslabel.h"
#include "actionlabelvalueto.h"
void utilslabel::setlabelvaluewithformat(cocos2d::label *label, long
long value, float maxwidth,klabelformat format)
for (int i=0; i1)*3+i), ",");}}
label->setstring(strvalue);
}else
//需要縮放
if (maxwidth > 0)
}else
}void utilslabel::runlabelvalueto(cocos2d::label *label, long
long tovalue, float duration, float width, klabelformat format)
}startvalue = atoll(strvlaue.c_str());
}else
if (duration <= 0)
else
}void utilslabel::runlabelvaluetovalue(label*label,long
long startvalue,long
long tovalue,float duration,float width,klabelformat format)
else
}//// actionlabel.hpp
// actionlabel
//// created by xujw on 16/3/7.
//// 當label數值是數字時進行滾動效果,比如從1滾動到100
#ifndef actionlabel_h
#define actionlabel_h
#include
#include "cocos2d.h"
#include "utilslabel.h"
using_ns_cc;
class actionlabelvalueto:public actioninterval
;#endif /* actionlabel_h */
//// actionlabel.cpp
// actionlabel
//// created by xujw on 16/3/7.
////
#include "actionlabelvalueto.h"
actionlabelvalueto::actionlabelvalueto()
:_startvalue(0)
,_endvalue(0)
,_delayvalue(0)
,_maxwidth(0)
,_labelformat(knormal)
{}actionlabelvalueto::~actionlabelvalueto()
{}actionlabelvalueto* actionlabelvalueto::create(float duration, long
long startvalue, long
long endvalue,float maxvalue,klabelformat format)
cc_safe_delete(lvt);
return
nullptr;
}bool actionlabelvalueto::initwithduration(float duration, long
long startvalue, long
long endvalue,float maxwidth,klabelformat format)
_startvalue = startvalue;
_endvalue = endvalue;
_labelformat = format;
_maxwidth = maxwidth;
return
true;
}void actionlabelvalueto::startwithtarget(cocos2d::node *target)
//time is 0 to 1
void actionlabelvalueto::update(float time)
}
cocos2d x 資源集合
官網 主席子龍山人 archive 2011 08 08 2131019.html kmyhy的專欄 老g的小屋 cocos2d xtouch事件cocos2d 事件冒泡規律 和 ccmenu一直響應事件的解決辦法 swallow touches how to setmultipletouchena...
cocos2d x 開篇介紹
關於cocos2d x這一遊戲引擎,現在受到了手機遊戲開發者的青睞。其實cocos2d一開始是由於cocos2d iphone的成功,然後帶動各類開源專案越來越火。由蘋果獨家的objective c到了流行的c 支援了更多平台。cocos2d x中的 x 是什麼意識呢,其實其中包含著兩層含義 1 代...
Cocos2d x 常見巨集
1 ns cc begin cocos2d命名空間開始 2 ns cc end cocos2d命名空間結束 3 using ns cc 宣告cocos2d命名空間 4 cc synthesize readonly vartype,varname,funname 宣告乙個成員變數以及getfunnam...