cocos2dx --- Action介绍 (二)
2013-05-15 16:30
176 查看
有时需要指定在某一个时刻有谁执行某个动作,此时就有必要使用CCActionInstant继承树中一类特殊的类,即CCCallFunc家族。
CCCallFunc家族主要有四个类:
这四个类对应了四个不同的函数接口;
在使用此四类时,需要按需求使用上述4种回调函数的定义形式,并且对自定义的回调函数需用利用cocos2dx的宏一转换为函数指针类型,对应的宏定义:
使用举例:
CCCallFunc家族主要有四个类:
CCCallFunc *CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTarget,SEL_CallFunc selector); CCCallFuncN *CCCallFuncN::actionWithTarget(SelectorProtocol* pSelectorTarget,SEL_CallFuncN selector); CCCallFuncND *CCCallFuncND::actionWithTarget(SelectorProtocol* pSelectorTarget,SEL_CallFuncND selector, void* d); CCCallFuncO *CCCallFuncO::actionWithTarget(SelectorProtocol* pSelectorTarget,SEL_CallFuncO selector, CCObject* pObject)
这四个类对应了四个不同的函数接口;
typedef void (SelectorProtocol::*SEL_CallFunc)(); typedef void (SelectorProtocol::*SEL_CallFuncN)(CCNode*); typedef void (SelectorProtocol::*SEL_CallFuncND)(CCNode*, void*); typedef void (SelectorProtocol::*SEL_CallFuncO)(CCObject*);
在使用此四类时,需要按需求使用上述4种回调函数的定义形式,并且对自定义的回调函数需用利用cocos2dx的宏一转换为函数指针类型,对应的宏定义:
#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)
使用举例:
CCCurveMove* curveMove = CCCurveMove::create(fromtime,ccp(size.width - iRandPos_f, -size.height*0.5),sign*size.width*0.4,0.006); CCCallFuncN *actDone = CCCallFuncN::actionWithTarget(this, callfuncN_selector(LeavesLayer::resetLeafPos)); CCFiniteTimeAction *putdown = CCSequence::actions(curveMove,actDone, NULL); sprite->runAction(putdown);
相关文章推荐
- cocos2dx中关于Action动作的相关API的详细介绍
- cocos2dx中关于Action动作的相关API的具体介绍
- cocos2dx --- Action介绍 (一、二) (动作顺序、动作组合效果)
- Func,Action的介绍及其用法
- 【COCOS2DX-LUA 脚本开发之六】利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架
- ASP.NET MVC 入门 -- 9、Action Filter 与 内置的Filter实现(介绍)
- cocos2dx-3.2(36) 3DAction 一些3D特效
- cocos2dx-3.2 3DAction 一些3D特效
- 【cocos2dx-3.0beta-制作flappybird】——背景介绍
- Single Shot Temporal Action Detection 论文介绍
- android intent action 介绍大全
- cocos2dx-3.0(24) onEnter()、onExit()、init()等场景生命周期函数介绍
- Flash ActionScript3 殿堂之路 第一章:ActionScript3语言介绍与开发环境
- cocos2dx中Action汇总
- 【转】C# 委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)(转)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- ASP.NET MVC 几种简单的Action介绍
- cocos2dx-3.x物理引擎Box2D介绍