这个很简单。请看说明

typedef void (CCObject::*SEL_MenuHandler)(CCObject*);#define menu_selector(_SELECTOR) (SEL_MenuHandler)(&_SELECTOR)void HelloWorld::exit(CCObject *pSender)
{CCLog("exit");}

上面一行:typedef是一个类型定义符号。定义了一个数据类型,在这里定义了一个函数类型,函数名叫SEL_MenuHander。参数类型是CCObject *,返回值是void。注意:CCObject::*SEL_MenuHander的意思是,限定了函数必须为CCObject的成员函数。如果不限定就类似:typdef void (*myFun)(int),声明了一个函数类型myFun

下面一行:#define是宏定义。比如我们这样写menu_selector(HelloWorld::call_exit)。就等于(SEL_MenuHander)(&HelloWorld::call_exit),先将我们helloWorld里面的函数call_exit取地址,然后强制转换为SEL_MenuHander函数类型。强制转换完就能作为参数传递给其他函数了。

#define menu_selector(_SELECTOR) (SEL_MenuHandler)(_SELECTOR)是什么意思??相关推荐

  1. 跟着石头哥哥学cocos2d-x(三)---2dx引擎中的内存管理模型

    2019独角兽企业重金招聘Python工程师标准>>> 2dx引擎中的对象内存管理模型,很简单就是一个对象池+引用计数,本着学好2dx的好奇心,先这里开走吧,紧接上面两节,首先我们看 ...

  2. 1.cocos2dx之Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)

     CCMenu 基本结构 CCMenu继承自CCLayer,本质是一个容器.需要被addChild到父类中去. CCMenuItem是菜单项,它有如下子类: CCMenuItemFont;CCMe ...

  3. cocos2d-x游戏开发(十三)细说回调函数

    欢迎转载:http://blog.csdn.net/fylz1125/article/details/8546607 cocos2d-x中有大量的回调函数的应用,主要有以下几类,看下CCObject. ...

  4. schedule 详解

    mmidd CnBlogs Home New Post Contact Admin Rss Posts - 9  Articles - 0  Comments - 34  Cocos2d-X3.0 刨 ...

  5. cocos2d-x学习笔记 动作 CCCallFunc家族(回调函数包装器)

    CCCallFunc是CCActionInstant的子类,是非常重要的一个类族,就是适配器.用大白话说,就是做了一层包装,把函数包装成动作,这样你在执行动作的时候,就可以执行函数了.听起来很怪异吗? ...

  6. 【Cocos2d-x】源代码分析之 2d/ui/Widget

    从今天開始 咱也模仿 红孩儿这些大牛分析源代码 ,因为水平有限 不正确之处欢迎狂喷.哈哈. #ifndef __UIWIDGET_H__ #define __UIWIDGET_H__#include ...

  7. 2假动作,数据缓冲,CCEaseExponential,CCEaseElastic,CCEaseBounce,CCCallFunc,funcNCallBack,funcNDCallBack,funcO

     1 缓冲动作 man->setScale(0.8f); woman->setScale(0.8f); man->setPosition(ccp(100, 80)); woman ...

  8. 1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton

     UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS ...

  9. 4.帧循环(游戏主循环),schedule

     1 概述 游戏乃至图形界面的本质是不断地绘图,然而绘图并不是随意的,任何游戏都需要遵循一定的规则来呈现出来,这些规则就体现为游戏逻辑.游戏逻辑会控制游戏内容,使其根据用户输入和时间流逝而改变.因 ...

最新文章

  1. 杭州成都场「PPT 下载」新鲜出炉 | 神策 2019 数据驱动大会
  2. Qt Creator创建Qt Quick项目
  3. java实现坐标图进行拖拉拽放_js实现限定区域范围拖拉拽效果
  4. 2、数字,字符串,列表,字典,集合
  5. 通达信 python_python 适用通达信
  6. 盘点常用的IDC综合业务、财务及用户管理平台
  7. 通过字节码分析this关键字以及异常表的重要作用
  8. 美版iPhone4卡贴解锁
  9. 地图标识符号大全_【好玩微信小游戏大全】虫虫逃亡:烧脑游戏佳作!强烈推荐!...
  10. 朋友圈一杠中间一个点_朋友圈只显示一条线 中间一个点 是被删除了么
  11. 【C++从入门到入土】第五篇:继承(爆肝画图详解)
  12. WDM内核驱动程序模型分析
  13. 【实用】Java对象与JSON字符串的互转,实用操作!
  14. 海思3559A pwm驱动编写记录
  15. 起源鸿蒙虚无等级,《刺客信条:起源》或为开放世界游戏 最高等级只有40
  16. 光电倍增管PMT (photomultiplier tube) 原理、结构和特性总结
  17. 小程序毕业设计 基于微信商城小程序毕业设计开题报告功能参考
  18. Python基础语法(自用)
  19. 咸鱼翻身之路——我与农夫和牛的故事
  20. Java自学视频整理(持续更新中...)

热门文章

  1. Android实验三:天气预报应用实现
  2. Google Cloud 技术矩阵,全栈赋能4大游戏品类
  3. 微信群拉人很累?学会这 6 种自动化方案后,轻松乐无忧!
  4. java实现deflate文件格式解压压缩
  5. Win32 .Net QA
  6. Boost和bagging算法
  7. Simditor + Strust 上传图片
  8. 20200425观《玄奘之路》心得
  9. 未来MCU设计的几个方向
  10. iReport关于page header制作表单明细模板,textfield与staticText不相容的问题解决