首页 > 编程语言 >cocos2d-x CCCallFuncN中node CCCallFuncND中data

cocos2d-x CCCallFuncN中node CCCallFuncND中data

时间:2023-03-24 18:31:57浏览次数:43  
标签:node void label CCCallFuncN ActionCallFunc SelectorProtocol data

  CCCallFuncN:

1    CCCallFuncN *instant = new CCCallFuncN;
 2    instant->initWithTarget(this, callfuncN_selector(ActionCallFunc::callback2));
 3    m_grossini->runAction(instant);
 4 
 5 void ActionCallFunc::callback2(CCNode* pSender)
 6 {
 7     CCSize s = CCDirector::sharedDirector()->getWinSize();
 8     label->setPosition(CCPointMake( s.width/4*2,s.height/2));
 9     pSender->setPosition( ccp(0, 0) );
10 }

node即指代runAction的node节点;这样当触发callback2的时候即可通过pSender来改变m_grossini的一些状态。

  CCCalFuncND:

1    CCCallFuncND *instant2 = new CCCallFuncND;
 2    instant2->initWithTarget(this, callfuncND_selector(ActionCallFunc::callback3), (void*)"fgd");
 3 
 4 void ActionCallFunc::callback3(CCNode* pTarget, void* data)
 5 {
 6     CCSize s = CCDirector::sharedDirector()->getWinSize();
 7     CCLabelTTF *label = CCLabelTTF::labelWithString("fgd", "Marker Felt", 16);
 8     label->setPosition(CCPointMake( s.width/4*3,s.height/2));
 9     addChild(label);
10 }

Data可以将数据指针传进去,不过类型丢了必须强转。
virtual bool initWithTarget (SelectorProtocol *pSelectorTarget, SEL_CallFuncND selector, void *d);现在对SelectorProtocol不太明白,为什么不是node,要是node的话我可以理解成父节点(psender的父节点),但是为啥是SelectorProtocol呢?

  SelectorProtocol:  CCNode是SelectorProtocol的子类

write by fgd



标签:node,void,label,CCCallFuncN,ActionCallFunc,SelectorProtocol,data
From: https://blog.51cto.com/u_7772051/6147653

相关文章

  • Node-RED中实现选择照片并转码Base64并显示
    场景Node-RED简介与Windows上安装、启动和运行示例:Node-RED简介与Windows上安装、启动和运行示例_霸道流氓气质的博客-noderedwindowsNode-RED怎样导出导入流程为json文件:N......
  • vue全家桶进阶之路3:Node.js
    Node.js发布于2009年5月,由RyanDahl开发,是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台,它让......
  • requireJS 源码(二) data-main 的加载实现
    requireJS源码(二)data-main的加载实现(一)requireJs的整体结构:requireJS源码前192行,是一些变量的声明,工具函数的实现以及对三个全局变量(requirejs,require,def......
  • requireJS 源码(三) data-main 的加载实现
    requireJS源码(三)data-main的加载实现(一)入口通过data-main去加载JS模块,是通过  req(cfg) 入口去进行处理的。为了跟踪,你可以在此加断点进行调试跟......
  • Node Sass version 8.0.0 is incompatible with ^4.0.0.
    这是因为当前版本与4.0.0不兼容卸载当前版本sass:   npmuninstallnode-sass安装指定版本sass:   [email protected] 参考这里 https://www.cn......
  • Prometheus通过Nginx防盗链加密node_exporter
    node_exporter是Prometheus的一个扩展程序,也是通过go语言编写,同样是开箱即食,主要用来采集服务器上的数据(CPU、内存等等)主机Prometheus可以通过部署在客户端的node_exporte......
  • XHR 的事件与FormData
    XHR的事件load事件//1.load事件//响应数据可用时触发consturl='https://www.imooc.com/api/http/search/sugges......
  • 用python创建文件data.txt,共100行,每行循环存放一个1~100之间的整数。
      1list1=[]2f=open('data.txt',mode='a',encoding='utf-8')3withopen('data.txt',mode='a',encoding='utf-8'):4forrrrinrange(1,101):......
  • 116Cebtos7安装node
    在windows中本来安装了node,就自带npm但是在centos7中,安装了node没有npm这个命令于是就有了这个...首先安装nodeyuminstallepel-releaseyuminstallnodejs再安装......
  • 华为datacom-HCIA学习笔记汇总1.0
    什么是Datacom认证?Datacom,即DatacomCommunication的缩写,中文为“数据通信”,属于ICT技术架构认证类别(华为认证包含ICT技术架构认证、平台与服务认证和行业ICT认证三类认证......