在第四篇介紹委託時,cc_synthesize這個巨集出來show了一番後回去很是嘚瑟,於是他的兄弟姐妹們不幹了,憑什麼他能show而他們就不行?
為了公平起見,我趕緊也把其他的常用巨集也拉出來溜溜。
1、cc_synthesize(vartype, varname, funname):宣告乙個成員變數以及getfunname,setfunname函式.函式宣告和實現都有
這個直接用第四篇那些現成的。如下:
[cpp]view plain
copy
cc_synthesize(mydelegate*,delegator,delegator);//這一步不理解的看下面
//原始碼:
#define cc_synthesize(vartype, varname, funname)\
protected: vartype varname;\
public: virtual vartype get##funname(void) const \
public: virtual
void set##funname(vartype var)
看過原始碼後,我們把cc_synthesize(mydelegate*,delegator,delegator);帶進去試下,實際上與下面這幾條**是同樣的意思。
[cpp]view plain
copy
protected:
mydelegate* delegate;
public:
virtual mydelegate* getdelegator(void) const ;
virtual
void setdelegator(mydelegate* dele) ;
2、cc_synthesize_pass_by_ref(vartype, varname, funname):類似cc_synthesize,不過getfunname返回的是引用。
3、cc_synthesize_readonly(vartype, varname, funname):宣告乙個成員變數以及getfunname函式,沒有set函式。getfunname已經實現,其實現就是返回這個值。其實看到readonly就知道它是唯讀的了。
4、cc_synthesize_readonly_pass_by_ref(vartype, varname, funname):類似cc_synthesize_readonly,不過getfunname返回的是引用
5、cc_property(vartype, varname, funname):宣告乙個成員變數以及getfunname,setfunname函式.函式實現要自己做
舉個例子介紹下:
[cpp]view plain
copy
//宣告
class helloworld : public cocos2d::layer
//定義
int helloworld::gethp()
void helloworld::sethp(int hp_int)
6、cc_property_pass_by_ref(vartype, varname, funname):類似cc_property,,不過getfunname返回的是引用。
7、cc_property_readonly(vartype, varname, funname):又是乙個唯讀,宣告乙個成員變數以及getfunname函式,沒有set函式。getfunname函式的實現要自己做
8、cc_property_readonly_pass_by_ref(vartype, varname, funname):類似cc_property_readonly,不過getfunname返回的是引用。getfunname函式的實現要自己做
恩,就簡單介紹到這裡啦。嘿嘿。
Cocos2dx 小技巧(五)常用巨集介紹
話說前天是小公尺的公尺粉節,因為缺少個安卓機,打算搶個最新的紅公尺note來玩玩,誰知道note沒搶到,紅公尺倒是搶到了三颱。我這人品到底是好還是不好呢?在第四篇介紹委託時,cc synthesize這個巨集出來show了一番後回去很是嘚瑟,於是他的兄弟姐妹們不幹了,憑什麼他能show而他們就不行?...
COCOS2D X常用巨集
控制台輸出 define cclog 控制台警告輸出 define cclogwarn 控制台資訊輸出 define ccloginfo 交換 x,y的值 define cc swap x,y 生成乙個 1 到 1的隨機數 define ccrandom minus1 1 生成乙個 0 到 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...