cocos2dx中的假动作,又称动作回调函数

1.动作与动画的区别

动作是:定时器+属性的改变,是帧循环的累积效应

动画是:帧图片的播放效果,我们知道电影的播放就是快速播放的胶片,这就是动画的原理

2.假动作:又称动作回调函数

四大类假动作:

callfunc_selector()        对应的回调函数是:void funcCallBack();

callfuncN_selector()      对应的回调函数是:void funcNCallBack(CCNode *node);

callFuncND_selector()   对应的回调函数是:void funcNDCallBack(CCNode *node,void *data);//可以传递CCNode的对象,即调用者this,和额外的数据参数data

callFuncO_selector()     对应的回调函数是:void funcOCallBack(CCObject *obj);//可以传递CCArray*的对象

总结:

CCCallFunc 系列动作包括CCCallFunc、CCCallFuncN、CCCallFuncND,以及CCCallFuncO 四个动作,CCCallFunc 系列动作的后缀"N"表示Node 参数,指的是执行动作的对象,"D"表示Data 参数,指的是用户自定义的数据,"O"表示对象,指的是一个用户自定义的CCObject 参数。在不同的情况下,我们可以根据不同的需求来选择不同CCCallFunc 动作。

时间: 2024-10-21 15:25:04

cocos2dx中的假动作,又称动作回调函数的相关文章

动作回调函数 (CallFunc,CallFuncN,CCCallFuncND)

动作回调函数 (例子) 1 bool HelloWorld::init() 2 { 3 ////////////////////////////// 4 // 1. super init first 5 if ( !Layer::init() ) 6 { 7 return false; 8 } 9 10 Size visibleSize = Director::getInstance()->getVisibleSize(); 11 Vec2 origin = Director::getInsta

android中出现的多处回调函数

回调函数的概念 android中出现的多处回调函数,比如去override 一些函数 OnCreate等等 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html android中出现的多处回调函数,布布扣,bubuko.com

extjs中组件监听器里面的回调函数说明

近期在看项目源代码的时候发现了例如以下代码,当中_searchSupplierStore是JsonStore对象 _searchSupplierStore.on('beforeload',function(thiz,options){ thiz.baseParams["cusCode"]="%"+Ext.getCmp('id_cusCodetext').getValue()+"%"; thiz.baseParams["cusType&q

关于Cocos2d-x中使用完Blink动作后精灵突然消失的问题的解决

精灵使用Blink 执行完动作之后,消失不见了,原因是有可能出现精灵刚好到透明的那部分,所以最好在精灵执行完动作之后,让精灵setvisible显示出来. 解决方式: 格式1 Blink * hurt = Blink::create(0.5, 5); 写一个回调函数,等到执行完Blink 动作后调用这个回调函数 CallFunc *call2 = CallFunc::create([this](){ this->setVisible(true); }); this->runAction(Seq

JavaScript ES7 中使用 async/await 解决回调函数嵌套问题

原文链接:http://aisk.me/using-async-await-to-avoid-callback-hell/ JavaScript 中最蛋疼的事情莫过于回调函数嵌套问题.以往在浏览器中,因为与服务器通讯是一种比较昂贵的操作,因此比较复杂的业务逻辑往往都放在服务器端,前端 JavaScript 只需要少数几次 AJAX 请求就可拿到全部数据. 但是到了 webapp 风行的时代,前端业务逻辑越来越复杂,往往几个 AJAX 请求之间互有依赖,有些请求依赖前面请求的数据,有些请求需要并行

cocos2dx 3.x 关于action的回调函数

auto bgPic = Sprite :: create( "StartGameBg.jpg" ); bgPic ->setContentSize ( Size( 800.0f , 1246.0f)); bgPic ->setPosition ( Vec2( visibleSize .width / 2 , - bgPic -> getContentSize(). height /2 + visibleSize . height)); this -> addC

cocos2d 动作回调函数

// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); C

cocos3 动作回调函数

FiniteTimeAction *actionOne = Sequence::create( CCScaleTo::create(1.0f,0.5f,1.5f), CCFadeIn::create(1.0f), CCCallFunc::create(this,callfunc_selector(HelloWorld::actionCallBack)), NULL ); sp->runAction(actionOne);

JavaScript中的回调函数

在学习JavaScript的过程中遇到了很多,使用到回调函数的例子,出现了许多疑问,就由一个栗子开始吧: 在JavaScript中接触的第一个回调函数是在setInterval()和setTimeout()中出现的: 1 var num = 10; 2 3 var interValId = setInterval(function (){ 4 console.log(num); 5 num--; 6 if(num==0){ 7 clearInterval(interValId); 8 } 9 }