cocos2D v3.x中动作回调函数的变化

cocos2D v3.x版本中的动作的回调函数不能再带任何参数并且不能返回任何值.

官方给出的传递参数的办法是:

选择器(selector)不能带有任何形参,选择器需要的参数必须通过ivar或property来间接传递.

通常更可取的避免通过ivar或property来传递参数的办法是使用CCActionCallBlock.

示例代码如下:

id callFunc = [CCActionCallFunc actionWithTarget:self selector@selector(myCallFuncMethod)];
[self runAction:callFunc];
-(void) myCallFuncMethod {
    NSLog(@"call func action ran my method");
}
时间: 2025-01-20 19:58:40

cocos2D v3.x中动作回调函数的变化的相关文章

cocos2d中关于回调函数的pSender参数的问题

问题描述 cocos2d中关于回调函数的pSender参数的问题 10C 运行结果显示,CallBack1和CallBack2产生的效果是一样的,请问CallBack2处的pSender的作用是什么,为什么Sprite* sp = (Sprite*)pSender;后sp与sprite等效了? cpp中 void MyScene::goMenu(cocos2d::Ref* pSender){ log(""Tag=%i""this->getTag()); swi

cocos2D v3.x 中action的回调block变化

cocos2D v2.x中有带参数的回调block: id blk = [CCCallBlockN actionWithBlock:^(CCNode *node){ node.position = orign; }]; 不过到了cocos2D v3.x中只有CCActionCallBlock一种block回调了,如果需要像以前那样传递参数,可以通过局部外围变量的方法,如下: CCNode *node = myNode; id blk = [CCActionCallBlock actionWith

线程中的回调函数如何获得返回值,请高手开悟,在线等......

问题描述 普通回调方法:classA{classBxx=newclassB();stringss=k.ca(tm);stringtm(stringxm){returnxm+"一杯醉倒";}}classB{publicdelegatestringtc();publicstringca(tcmm){MessageBox.Show("到这里了!");returnmm("我");}}执行stringss=k.ca(tm);语句后,得到回调函数tm的返回值

Cocos2D v3.x中关于重叠触摸层优先级的问题

在Cocos2D v2.x版本中可以通过以下方法设置本层的触摸优先级: [[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:-256 swallowsTouches:YES]; 不过以上方法在Cocos2d v3.x中已经不复存在了. 总的来说在v3.x中触摸优先级问题变得更加简单了,它直接和不同层的z-order相关. 越靠近屏幕,即z序越大的层越先响应触摸事件,而z序越小的层越后响应触摸

Cocos2d-x 3.0 新特性体验- 回调函数的变化

在cocos2d-x 2.x版本中的回调函数的用法想必大家都很是熟悉,例如在menu item,call back action中都需要大量的使用到回调函数,但是在使用过程中总是感觉到比较冗余麻烦的,在3.0版本,使用到了C++11 的新特性,改进增加了回到函数的使用形式,其中最令人欣慰的是,可以使用闭包,对于有过iOS开发经验的来说,应该很亲切,就是 block. 下面将通过几个例子详细介绍在3.0版本中回调函数的各种用法.温馨提示:由于用到了C++11中的std::function,std:

Javascript中的回调函数和匿名函数的回调示例介绍_javascript技巧

复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 匿名函数自调的意义: 1.营造了一个封闭的空间 2.防止变量冲突 3.有选择性的对外开发(第三方框架都是对js这样封装

理解javascript中的回调函数(callback)_javascript技巧

最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(function(req, res, next) {     var err = new Error('Not Found');     err.status = 404;     next(err); }); app是对象,use是方法,方法的参数是一个带参的匿名函数,函数体直接在后面给出了.这段代码

请高手帮我解决一个VB.NET调用c++ DLL 中的回调函数的问题

问题描述 我有个test.dll是c++写的dll,现在我要用vb.net调用这个dll中的SetCallback回调函数,请问怎么在vb.net中实现,请高手们具体列出代码,应我是新手,谢谢.以下是c++中的头文件定义的一部分typedefvoid(__stdcall*CCallback)(unsignedlongmsg,unsignedlonghparam,unsignedlonglparam);extern"C"voidR888DLL_API__stdcallSetCallbac

怎样理解java中的回调函数

问题描述 最近遇到回调函数问题,有点不太理解,到底什么是回调函数,有何用途,与命令模式是不是有点关系! 解决方案 是可以这样说的·这个在spring中尤其明显,比如spring中的运用到的AOP2.0以后的框架,在spring配置文件中引入aop2.0以后的命名空间后可以这样配置:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.or