cocos2d-x节点(CCActionInstant.h)API
来源:互联网 发布:读写速度测试软件 编辑:程序博客网 时间:2024/05/21 17:48
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-x节点(CCActionInstant.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
// action 的显示、隐藏、翻转、定位
///cocos2d-x-3.0alpha0/cocos2dx/actions// action 的显示、隐藏、翻转、定位#ifndef __CCINSTANT_ACTION_H__#define __CCINSTANT_ACTION_H__#include <string>#include <functional>#include "CCStdC.h"#include "CCAction.h"NS_CC_BEGIN/** * @addtogroup actions * @{ *//** @brief 即时 actions 立即执行 actions. 它们不具备持续时间类似 IntervalAction actions.*/ class CC_DLL ActionInstant : public FiniteTimeAction //<NSCopying>{public: // // Overrides //virtual ActionInstant* clone() const override = 0; virtual ActionInstant * reverse(void) const override = 0; virtual bool isDone(void) const override; virtual void step(float dt) override; virtual void update(float time) override;};/** @brief Show the node*/class CC_DLL Show : public ActionInstant{public: /** 分配并初始化 action */ static Show * create(); Show(){} // // Overrides // virtual void update(float time) override; virtual ActionInstant* reverse(void) const override;virtual Show* clone() const override;};/** @brief Hide the node*/class CC_DLL Hide : public ActionInstant{public: /** 分配并初始化 action */ static Hide * create(); Hide(){} // // Overrides // virtual void update(float time) override;virtual ActionInstant* reverse() const override;virtual Hide* clone() const override;};/** @brief 切换的节点的可见性*/class CC_DLL ToggleVisibility : public ActionInstant{public: /** 分配并初始化 action */ static ToggleVisibility * create(); ToggleVisibility(){} // // Overrides // virtual void update(float time) override;virtual ToggleVisibility* reverse() const override;virtual ToggleVisibility* clone() const override;};/** @brief Remove the node*/class CC_DLL RemoveSelf : public ActionInstant{public:/** 创建 action */static RemoveSelf * create(bool isNeedCleanUp = true); RemoveSelf():_isNeedCleanUp(true){}/** init the action */bool init(bool isNeedCleanUp);// // Override //virtual void update(float time) override;virtual RemoveSelf* clone() const override;virtual RemoveSelf* reverse() const override;protected:bool _isNeedCleanUp;};/** @brief 水平翻转精灵@since v0.99.0*/class CC_DLL FlipX : public ActionInstant{public: /** create the action */ static FlipX * create(bool x); FlipX() :_flipX(false) {} /** init the action */ bool initWithFlipX(bool x); // // Overrides // virtual void update(float time) override;virtual FlipX* reverse() const override;virtual FlipX* clone() const override;protected: bool _flipX;};/** @brief 垂直翻转精灵@since v0.99.0*/class CC_DLL FlipY : public ActionInstant{public: /** create the action */ static FlipY * create(bool y); FlipY() :_flipY(false) {} /** init the action */ bool initWithFlipY(bool y); // // Overrides // virtual void update(float time) override;virtual FlipY* reverse() const override;virtual FlipY* clone() const override;protected: bool _flipY;};/** @brief 把节点放置在一个特定的位置*/class CC_DLL Place : public ActionInstant //<NSCopying>{public: Place(){} /** 使用 position 创建一个 action */ static Place * create(const Point& pos); /** 使用 position 初始化一个 action */ bool initWithPosition(const Point& pos); // // Overrides // virtual void update(float time) override;virtual Place* reverse() const override;virtual Place* clone() const override;protected: Point _position;};/** @brief 调用一个 'callback'*/class CC_DLL CallFunc : public ActionInstant //<NSCopying>{public:/** 使用 std::function<void()> 的回调类型 创建一个 action. 这是创建 callback 的首选方法. * 当这个函数绑定到 js or lua,输入参数会改变 * In js: var create(var func, var this, var [data]) or var create(var func) * In lua:local create(local funcID) */ static CallFunc * create(const std::function<void()>& func); /** 使用 callback 创建一个 action typedef void (Object::*SEL_CallFunc)(); @过时不再需要建议使用新的 API ,可以使用 std::function 代替. * @js NA * @lua NA */ CC_DEPRECATED_ATTRIBUTE static CallFunc * create(Object* pSelectorTarget, SEL_CallFunc selector);public: /** * @js ctor */ CallFunc() : _selectorTarget(NULL) , _callFunc(NULL), _function(nullptr) { } /** * @js NA * @lua NA */ virtual ~CallFunc();/** 使用 callback 初始化一个 action typedef void (Object::*SEL_CallFunc)(); @过时不再需要建议使用新的 API ,可以使用 std::function 代替. */ CC_DEPRECATED_ATTRIBUTE bool initWithTarget(Object* pSelectorTarget);/** 使用 std::function<void()> 初始化一个 action * @js NK * @lua NK */ bool initWithFunction(const std::function<void()>& func); /** executes(执行) the callback */ virtual void execute(); inline Object* getTargetCallback() { return _selectorTarget; } inline void setTargetCallback(Object* pSel) { if (pSel != _selectorTarget) { CC_SAFE_RETAIN(pSel); CC_SAFE_RELEASE(_selectorTarget); _selectorTarget = pSel; } } // // Overrides // virtual void update(float time) override;virtual CallFunc* reverse() const override;virtual CallFunc* clone() const override;protected: /** Target 将会被调用 */ Object* _selectorTarget; union { SEL_CallFunc _callFunc; SEL_CallFuncN _callFuncN; }; /** function 将会被调用 */std::function<void()> _function;};/** @brief 把 node 作为 'callback' 的第一个参数N 意味着 Node*/class CC_DLL CallFuncN : public CallFunc{public: /**使用 std::function<void()> 的回调类型 创建一个 action. 这是创建 callback 的首选方法. */ static CallFuncN * create(const std::function<void(Node*)>& func); /** 使用 callback 创建一个 action typedef void (Object::*SEL_CallFuncN)(Node*); @过时不再需要建议使用新的 API ,可以使用 std::function 代替. */ CC_DEPRECATED_ATTRIBUTE static CallFuncN * create(Object* pSelectorTarget, SEL_CallFuncN selector);public: CallFuncN():_functionN(nullptr){} /** 使用 std::function<void(Node*)> 初始化一个 action */ bool initWithFunction(const std::function<void(Node*)>& func); /** 使用 callback 初始化一个 action typedef void (Object::*SEL_CallFuncN)(Node*); @过时不再需要建议使用新的 API ,可以使用 std::function 代替. */ CC_DEPRECATED_ATTRIBUTE bool initWithTarget(Object* pSelectorTarget, SEL_CallFuncN selector); // // Overrides //virtual CallFuncN* clone() const override; virtual void execute() override;protected: /** 函数调用时会把 "sender" 作为第一个参数传递进去 */ std::function<void(Node*)> _functionN;};/** @过时不再需要建议使用新的 API ,可以使用 CallFuncN 代替. @brief 把节点作为 'callback' 的第一个参数,Node 的数据数据作为第二个参数 * ND means: Node and Data. Data is void *, 它可能是任何东西. */class CC_DLL __CCCallFuncND : public CallFunc{public: /** 使用 callback、作为参数传递的数据 创建一个 action */ CC_DEPRECATED_ATTRIBUTE static __CCCallFuncND * create(Object* selectorTarget, SEL_CallFuncND selector, void* d); protected: /** 使用 callback、作为参数传递的数据 初始化一个 action */ bool initWithTarget(Object* selectorTarget, SEL_CallFuncND selector, void* d); public: // // Overrides //virtual __CCCallFuncND* clone() const override; virtual void execute() override; protected: SEL_CallFuncND _callFuncND; void* _data;};/** @过时不再需要建议使用新的 API ,可以使用 CallFuncN 代替. @brief object 作为 'callback' 的第一个参数 O means Object. @since v0.99.5 */class CC_DLL __CCCallFuncO : public CallFunc{public: /** 使用 callback 创建一个 action typedef void (Object::*SEL_CallFuncO)(Object*); */ CC_DEPRECATED_ATTRIBUTE static __CCCallFuncO * create(Object* selectorTarget, SEL_CallFuncO selector, Object* object); /** * @js ctor */ __CCCallFuncO(); /** * @js NA * @lua NA */ virtual ~__CCCallFuncO(); protected: /** 使用 callback 初始化一个 action typedef void (Object::*SEL_CallFuncO)(Object*); */ bool initWithTarget(Object* selectorTarget, SEL_CallFuncO selector, Object* object); public: // // Overrides //virtual __CCCallFuncO* clone() const override; virtual void execute() override; Object* getObject() const; void setObject(Object* obj); protected: /** object 作为参数传递 */ Object* _object; SEL_CallFuncO _callFuncO;};// end of actions group/// @}NS_CC_END#endif //__CCINSTANT_ACTION_H__
- cocos2d-x节点(CCActionInstant.h)API
- cocos2d-x节点(cocos2d.h)API
- cocos2d-X 节点(CCNode.h)API
- cocos2d-X 节点(CCLayer.h)API
- cocos2d-X 节点(CCMenu.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCSprite.h)API
- cocos2d-X 节点(CCTexture2D.h)API
- cocos2d-X 节点(SpriteBatchNode.h.)API
- cocos2d-X 节点(CCSpriteFrame.h..)API
- cocos2d-X 节点(CCAnimationCache.h)API
- cocos2d-X 节点(CCCamera.h.)API
- cocos2d-X 节点(CCAction.h)API
- cocos2d-X 节点(CCActionManager.h)API
- cocos2d-X 节点(CCIMEDelegate.h)API
- cocos2d-X 节点(CCLabelAtlas.h)API
- cocos2d-X 节点(CCLabelBMFont.h)API
- cocos2d-X 节点(CCLabelTTF.h)API
- MVC 只是一个思想,不是模式!! (3)关于回显<特别重要>
- cocos2d-x节点(CCActionGrid3D.h)API
- c#关于委托和事件(三)
- 对ios中隐藏statusbar
- sessionState
- cocos2d-x节点(CCActionInstant.h)API
- Java IO流
- sicily 9192. Three Lines 中大
- CentOS 6.3忘记root密码的解决办法
- cocos2d-x节点(CCActionInterval.h)API
- 关于IBATIS中返回的hashmap存在不释放问题
- 关于《无法从“void (__thiscall HelloWorld::* )(void)”转换为“cocos2d::SEL_MenuHandler”》的修改
- UIAlertView add UITextField
- java文件操作