cocos2d部分函数

CCAction的基类
virtual void stop (void)
动作完成后自动调用,不能手动的用一个动作调用stop()

virtual void step (ccTime dt)
每帧都会调用 一般不用重写

virtual void update (ccTime time)
在动作过程中调用一次,需要的时候重新实现 参数是0到1 0这个方法在动作刚开始的时候调用 0.5方法在进行到一半的时候调用 1方法在动作完成的时候调用

CCNode * getTarget (void)
获得执行某个动作的节点指针

————————————————————————————————————————————————————————————————————————

CCActionManager类
void removeAllActions (void)
移除CCAcionManager::sharedManager()所有的Action动作,包括所有对象的所有动作

void removeAllActionsFromTarget (CCObject *pTarget)
从一个特定的对象中移除所有的Action, 一般用在CCNode的stopAllAction函数中

void removeAction (CCAction *pAction)
移除某个具体的pAction (标签唯一性)
CCAction *pActcion = this->getActionByTag(0);
CCActionManager::sharedManager()-> removeAction(pAction);

void removeActionByTag (unsigned int tag, CCObject *pTarget)
从一个具体的对象pTarger中移除指定的Action, Action的标识为tag


————————————————————————————————————————————————————————————————————————

CCCamera类

void setEyeXYZ (float fEyeX, float fEyeY, float fEyeZ)
用浮点数设置eye的位置

void setCenterXYZ (float fCenterX, float fCenterY, float fCenterZ)
用浮点数设置中心的坐标

void setUpXYZ (float fUpX, float fUpY, float fUpZ)
用浮点数设置相机实例的UP值


————————————————————————————————————————————————————————————————————————

CCSpriteFrame 类

const CCRect & getRectInPixels (void)
获取CCSpriteFrame的像素区域

void setRectInPixels (const CCRect &rectInPixels)
设置CCSpriteFrame对象的像素区域

const CCRect & getRect (void)
获取CCSpriteFrame的作用区域

void setRect (const CCRect &rect)
设置CCSpriteFrame的作用区域

const CCPoint & getOffsetInPixels (void)
获取CCSpriteFrame的偏移

void setOffsetInPixels (const CCPoint &offsetInPixels)
设置CCSpriteFrame的偏移

void setOriginalSizeInPixels (const CCSize &sizeInPixels)
设置裁减后图片的初始大小

const CCSize & getOriginalSizeInPixels (void)
获取剪裁后的图像的原始大小

CCTexture2D * getTexture (void)
获取CCSpriteFrame的纹理图片 返回值 CCTexture2D*,CCTexture2D对象指针

void setTexture (CCTexture2D *pobTexture)
设置CCSpriteFrame的纹理图片 参数: 纹理对象指针

bool initWithTexture (CCTexture2D *pobTexture, const CCRect &rect)
使用纹理对象和区域对象初始化CCSpriteFrame对象 参数:纹理对象、区域对象

————————————————————————————————————————————————————————————————————————
CCTimer 类
轻量级的计时器

ccTime getInterval (void)

void setInterval ( ccTime fInterval )

————————————————————————————————————————————————————————————————————————
CCTouch 类

CCPoint locationInView (int nViewId)
获取触摸对象在View中的坐标        //view坐标 即屏幕坐标

CCPoint previousLocationInView (int nViewId)
获取触摸对象在View中的前一次坐标   参数:int nViewId View的索引值 

int view ()
返回CCTouch对象的View索引值

int id ()
返回CCTouch对象的唯一标识

void SetTouchInfo (int nViewId, float x, float y, int iID=0)
设置CCTouch对象的属性 参数 int nViewId,CCTouch对象响应的View索引值。

————————————————————————————————————————————————————————————————————————
CCTouchDispatcher 类

CCTouchDispatcher是触摸分发器,该类用单例模式处理所有的触摸事件,该分发器将事件分发给注册过的TouchHandlers,TouchHandlers有两种不同的类型: 标准触摸句柄(Standard Touch Handlers) 目标触摸句柄(Target Touch Handlers) 标准触摸句柄就像CocoaTouch里的句柄一样,所有的触摸集合都会传送给该句柄,而目标触摸句柄一次仅仅接受一个触摸,并且他们可以截获这些触摸(避免事件的传播) 首先,分发器发送接收到的触摸给指定的目标触摸句柄,这些触摸事件可以被该目标触摸句柄截获。如果有剩余的触摸事件,这些触摸事件将被发送给标准触摸句柄


bool isDispatchEvents (void)
判断事件是否将被分发,默认:是

void setDispatchEvents (bool bDispatchEvents)
设置事件是否被分发

void addStandardDelegate (CCTouchDelegate *pDelegate, int nPriority)
添加标准的touché处理机制(像cocoa touch中的touch处理机制),触摸集将会传递给代理

void addTargetedDelegate (CCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches)
添加一个具体的目标触摸代理到分发列表中,注意:pDelegate将被retained

void removeDelegate (CCTouchDelegate *pDelegate)
移除指定的触摸代理,指定的代理将被释放

void setPriority (int nPriority, CCTouchDelegate *pDelegate)
设置指定代理的优先级,nPriority越小,优先级越高语法

void touches (CCSet *pTouches, CCEvent *pEvent, unsigned int uIndex)
分发事件

virtual void touchesBegan (CCSet *touches, CCEvent *pEvent)
虚函数,实现 EGLTouchDelegate中相应的方法,检测手指触摸开始  参数 touches 集合类型 pEvent 事件类型

virtual void touchesMoved (CCSet *touches, CCEvent *pEvent)
虚函数,实现 EGLTouchDelegate中相应的方法,检测手指触摸移动的过程

virtual void touchesEnded (CCSet *touches, CCEvent *pEvent)
虚函数,实现 EGLTouchDelegate中相应的方法,检测手指触摸结束    参数、例子同上

virtual void touchesCancelled (CCSet *touches, CCEvent *pEvent)
虚函数,实现 EGLTouchDelegate中相应的方法,检测手指触摸失效    参数、例子同上

static CCTouchDispatcher * sharedDispatcher ()
返回静态的CCTouchDispatcher的单例,函数内部实现用单例模式

void forceRemoveDelegate (CCTouchDelegate *pDelegate)
强制移除指定代理

void forceRemoveAllDelegates (void)
强制移除所有的代理

void rearrangeHandlers (CCMutableArray< CCTouchHandler * > *pArray)
重新排列ccTouchHandler 参数:CCMutableArray类型数组指针
语法

CCTouchHandler * findHandler (CCMutableArray< CCTouchHandler * > *pArray, CCTouchDelegate *pDelegate)
在pArray句柄数组中找出指定代理pDelegate的处理句柄
参数:数组指针 、 CCTouchDelegate 类型代理
返回值 CCTouchHandler类型,返回指定代理的处理句柄

m_pTargetedHandlers
方法: 分发器发送收到的触摸事件给目标触摸集。这些触摸集可能被目标触摸处理句柄截获,如果有剩余的触摸,剩余的触摸将被发送给标准触摸句柄

CCMutableArray< CCTouchHandler * > * m_pTargetedHandlers
参数:CCMutableArray类型数组指针

————————————————————————————————————————————————————————————————————————

CCTouchHandler 类
包含事件处理器(event handler)的代理和优先级的对象。


CCTouchDelegate * getDelegate () 获取代理对象

void setDelegate (CCTouchDelegate *pDelegate) 设置一个代理对象

int getPriority (void) 获取事件处理器的调用优先级。

void setPriority (int nPriority) 设置事件处理器的优先级。

int getEnabledSelectors (void) 获取可用的selector

void setEnalbedSelectors (int nValue) 设置可用的selectors

virtual bool initWithDelegate (CCTouchDelegate *pDelegate, int nPriority) 初始化一个CCTouchHandler对象,虚函数,参数pDelegate为一个CCTouchDelegate对象,nPriority为要设置的优先级。

static CCTouchHandler * handlerWithDelegate (CCTouchDelegate *pDelegate, int nPriority) 创建一个CCTouchHandler对象,静态成员函数,参数pDelegate为一个CCTouchDelegate对象,nPriority为要设置的优先级。


————————————————————————————————————————————————————————————————————————
CC Layer 类
CCLayer 是CCNode的子类 ,实现了TouchEventsDelegate接口,继承了CCNode所有的特性,并且附加了一些自己的特性,它能够接收iPhone的触摸事件,也能够接收Accelerometer的输入

virtual void onEnter ()
onEnter方法会在该CCNode初始化后调用。 如果使用了过渡场景,则onEnter方法会在过渡效果开始时调用。

virtual void onExit ()
onExit方法会在该CCNode释放之前调用。 如果使用了过渡场景,则onExit方法会在过渡效果结束以后调用 语法 CCNode::onExit();

virtual void onEnterTransitionDidFinish ()
onEnterTransitionDidFinish方法会在调用onEnter方法后调用。 如果使用了过渡场景,则onEnterTransitionDidFinish方法会在过渡效果结束以后调用。

virtual bool ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent)
当手指首次触摸到屏幕时调用的方法.
在 CCLayer, CCMenu, CCTargetTouchDelegate类出现
参数 CCTouch *pTouch CCTouch类型的指针,CCTouch类主要是用来表示触摸信息的。 CCEvent *pEven CCEvent类型的指针,CCEvent类,表示触发该方法的事件。 触摸的响应对象 CCEvent *pEvent 触摸的响应事件

virtual void registerWithTouchDispatcher (void)
如果layer接收触摸事件,则这个方法在onEnter时调用。 这个方法作用是注册触摸事件,并设置事件响应的优先级。

virtual bool getIsTouchEnabled (void)
获取能否接收触摸事件的属性。例子代码
bool isTouchEnable = layer->getIsTouchEnabled();
返回值 返回一个布尔值,表示是否可以接收触摸事件。

virtual void setIsTouchEnabled (bool var)
设置能否接收触摸事件的属性。

virtual bool getIsAccelerometerEnabled (void)
获取能否接收加速计事件的属性。

virtual void setIsAccelerometerEnabled (bool var)
设置能否接收加速计事件的属性。

virtual bool getIsKeypadEnabled (void)
获取能否接收键盘事件的属性。

virtual void setIsKeypadEnabled (bool var)
设置能否接收键盘事件的属性。

static CCLayer * node (void)
分配并初始化一个对象,对象是自动释放的返回值 返回一个CCScene对象

————————————————————————————————————————————————————————————————————————

CCLayerMultiplex 类
CCMultipleLayer拥有多个CCLayer的功能: 1、它支持一个或更多的CCLayer 2、同一时间只有一个CCLayer可以被激活。


void addLayer (CCLayer *layer)
添加一个CCLayer对象

bool initWithLayer (CCLayer *layer)

bool initWithLayers (CCLayer *layer, va_list params)
外部需要调用CCLayerMultiplex * CCLayerMultiplex::layerWithLayers(CCLayer * layer, ...)
参数:要添加的layer 、va_list型变量


void switchTo (unsigned int n)
切换CCLayerMultiplex里面的CCLayer对象,从0开始算。


void switchToAndReleaseMe (unsigned int n)
切换到CCLayerMultiplex中的第N个CCLayer,并且这个CCLayer自身减一。
参数:第几个CCLayer

static CCLayerMultiplex * layerWithLayers (CCLayer *layer,...)
为CCLayerMultiplex添加多个Layer

static CCLayerMultiplex * layerWithLayer (CCLayer *layer)
初始化并且为CCLayerMultiplex添加一个CCLayer

static CCLayerMultiplex * node ()
初始化一个CCLayerMultiplex

 

posted @ 2013-10-29 11:38  sssssnian  阅读(209)  评论(0)    收藏  举报