#define CC_PROPERTY(varType, varName, funName)\
protected: varType varName;\
public: virtual varType get##funName(void);\
public: virtual void set##funName(varType var);
比如这段,get##funName(void)
类似这种写法从哪里来的,完全不理解。能帮忙给个参考么,或者给些资料。
cocos2d-x的一些特殊的写法看不明白。
答案:2 悬赏:80 手机版
解决时间 2021-02-16 14:24
- 提问者网友:黑米和小志
- 2021-02-15 23:53
最佳答案
- 五星知识达人网友:第四晚心情
- 2021-02-16 00:29
你好 :
我来帮你解答吧= =!
你使用了COCOS2D-X 就应该知道这个游戏引擎的前身 吧?
不错 是cocos2d-iphone
其实 -X这个引擎是移植 Iphone 版本的
大家都知道 开发IOS 都是使用object-c语言的
o-c有个特性 就是将 类的全局变量设为属性后 会自动生成 类似get 和set的 方法
楼主发的这个其实是个宏定义 大概意思和 o-c 的这个特制差不多
估计是cocos2d-x 为了 使用上和原版完全一样而改进的吧~
类似这样 其实他主要是干了这些事情
protected: int nTest;
public: virtual nTest getTest(void) const { return nTest; }
public: virtual void setTest(int var){ nTest = var; }
接着是你说的写法看不懂
其实这是个宏定义的语法 应该算C++的知识吧 (好吧 其他我不是很熟 如果不是就当这句没说)
一般的宏定义写法我想 你应该会了吧 用的都很多
我就来说这个楼主发出来的 这个吧
应该类似差不多的语法 还有
这样的格式:
#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x
你说的应该是第1种的吧?
x##y表示什么?表示x连接y,举例说:
int n = Conn(123,456); 结果就是n=123456;
char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";
差不多能理解吗?
嘿嘿
我来帮你解答吧= =!
你使用了COCOS2D-X 就应该知道这个游戏引擎的前身 吧?
不错 是cocos2d-iphone
其实 -X这个引擎是移植 Iphone 版本的
大家都知道 开发IOS 都是使用object-c语言的
o-c有个特性 就是将 类的全局变量设为属性后 会自动生成 类似get 和set的 方法
楼主发的这个其实是个宏定义 大概意思和 o-c 的这个特制差不多
估计是cocos2d-x 为了 使用上和原版完全一样而改进的吧~
类似这样 其实他主要是干了这些事情
protected: int nTest;
public: virtual nTest getTest(void) const { return nTest; }
public: virtual void setTest(int var){ nTest = var; }
接着是你说的写法看不懂
其实这是个宏定义的语法 应该算C++的知识吧 (好吧 其他我不是很熟 如果不是就当这句没说)
一般的宏定义写法我想 你应该会了吧 用的都很多
我就来说这个楼主发出来的 这个吧
应该类似差不多的语法 还有
这样的格式:
#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x
你说的应该是第1种的吧?
x##y表示什么?表示x连接y,举例说:
int n = Conn(123,456); 结果就是n=123456;
char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";
差不多能理解吗?
嘿嘿
全部回答
- 1楼网友:天凉才是好个秋
- 2021-02-16 02:03
不明白啊 = =!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯