谁能帮忙解释一下

中通电力-人力驻场 2012-03-22 03:46:00
#define callfuncN_selector(_SELECTOR) (SEL_CallFuncN)(&_SELECTOR)

这个语句的意思??
...全文
328 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyf87 2012-11-29
  • 打赏
  • 举报
回复
引用 4 楼 linger_xh 的回复:
class CCNode; typedef void (SelectorProtocol::*SEL_SCHEDULE)(ccTime); typedef void (SelectorProtocol::*SEL_CallFunc)(); typedef void (SelectorProtocol::*SEL_CallFuncN)(CCNode*); ty……
使用宏定义了一些函数指针和函数。
游子陈 2012-11-29
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_59b4c31c01017asd.html
mssyy2010 2012-04-21
  • 打赏
  • 举报
回复
CCActionInstant.h 中有注释Calls a 'callback' with the node as the first argument N means Node
再看selector_protocol.h
typedef void (SelectorProtocol::*SEL_CallFuncN)(CCNode*);
//出现selector的地方,都有唯一的函数指针类型与之匹配
//而上面就是定义了这个格式,CCNode为node节点,类型指针,当我们按上面格式调用时候就要加上&符号

#define callfuncN_selector(_SELECTOR) (SEL_CallFuncN)(&_SELECTOR)
//这个宏定义将写法改变了下,看起来更直观,在调用时候只加函数名

例子:
在游戏中我需要一个回调函数,在游戏逻辑函数中调用,回调函数实现:
void 类名::myCallbackFunc(CCNode* sender)
{
...
}
在游戏逻辑中需要回调
gamelogic函数中
{
...
CCFiniteTimeAction* action =
CCCallFuncN::actionWithTarget( this,
callfuncN_selector(类名::myCallbackFunc));
//或者这么调用
//CCFiniteTimeAction* action =
// CCCallFuncN::actionWithTarget( this,
// SEL_CallFuncN(&类名::myCallbackFunc));
...
}

个人理解哈,不知道帮没帮到你哈
  • 打赏
  • 举报
回复
class CCNode;
typedef void (SelectorProtocol::*SEL_SCHEDULE)(ccTime);

typedef void (SelectorProtocol::*SEL_CallFunc)();
typedef void (SelectorProtocol::*SEL_CallFuncN)(CCNode*);
typedef void (SelectorProtocol::*SEL_CallFuncND)(CCNode*, void*);
typedef void (SelectorProtocol::*SEL_CallFuncO)(CCObject*);
typedef void (SelectorProtocol::*SEL_MenuHandler)(CCObject*);
typedef void (SelectorProtocol::*SEL_EventHandler)(CCEvent*);

#define schedule_selector(_SELECTOR) (SEL_SCHEDULE)(&_SELECTOR)
#define callfunc_selector(_SELECTOR) (SEL_CallFunc)(&_SELECTOR)
#define callfuncN_selector(_SELECTOR) (SEL_CallFuncN)(&_SELECTOR)
#define callfuncND_selector(_SELECTOR) (SEL_CallFuncND)(&_SELECTOR)
#define callfuncO_selector(_SELECTOR) (SEL_CallFuncO)(&_SELECTOR)
#define menu_selector(_SELECTOR) (SEL_MenuHandler)(&_SELECTOR)
#define event_selector(_SELECTOR) (SEL_EventHandler)(&_SELECTOR)
  • 打赏
  • 举报
回复
能否详细的解释一下
面包大师 2012-03-22
  • 打赏
  • 举报
回复
宏定义,函数。。。。
巫师 2012-03-22
  • 打赏
  • 举报
回复
就是一个宏定义啊,哪里不清楚?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧