您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x节点(CCClippingNode.h)API

2013-12-03 15:06 295 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!


cocos2d-x节点(CCClippingNode.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

裁剪节点
///cocos2d-x-3.0alpha0/cocos2dx/misc_nodes
//裁剪节点

#ifndef __MISCNODE_CCCLIPPING_NODE_H__
#define __MISCNODE_CCCLIPPING_NODE_H__

#include "base_nodes/CCNode.h"
#include "CCGL.h"

NS_CC_BEGIN

/** ClippingNode 是 Node 的子类.
使用模板裁剪绘制它包含的 (childs)
模版是另一个节点它不会被绘制
裁剪板使用模版的 alpha 部分 (使用 alphaThreshold 调整).
*/
class CC_DLL ClippingNode : public Node
{
public:
/** 不使用模板创建并初始化裁剪节点
*/
static ClippingNode* create();

/** 使用 其它节点作为它的模板 创建并初始化一个裁剪节点
模板节点将被 retained(保留).
*/
static ClippingNode* create(Node *pStencil);
/**
* @js NA
* @lua NA
*/
virtual ~ClippingNode();

/** 不使用模板创建并初始化裁剪节点
*/
virtual bool init();

/** 使用 其它节点作为它的模板 创建并初始化一个裁剪节点
模板节点将被 retained(保留), 他的 parent 将被设置为这个裁剪节点
*/
virtual bool init(Node *pStencil);

/** 这个节点将被作为模版来裁剪.
模板节点将被 retained(保留)
This default to nil.
*/
Node* getStencil() const;
void setStencil(Node *pStencil);

/** The alpha threshold(阈值).
只有模板的的 alpha 像素 优于 alphaThreshold 时内容才会被绘制.
Should be a float between 0 and 1.
This default to 1 (so alpha test is disabled).
*/
GLfloat getAlphaThreshold() const;
void setAlphaThreshold(GLfloat fAlphaThreshold);

/** Inverted(倒置). If this is set to true,
翻转后的模板,所以模板没有绘制时,内容会被绘制
This default to false.
*/
bool isInverted() const;
void setInverted(bool bInverted);

// Overrides
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
/**
* @js NA
* @lua NA
*/
virtual void onEnterTransitionDidFinish() override;
/**
* @js NA
* @lua NA
*/
virtual void onExitTransitionDidStart() override;
/**
* @js NA
* @lua NA
*/
virtual void onExit() override;
virtual void visit() override;

private:
/**全屏绘制来清除模版 bits
*/
void drawFullScreenQuadClearStencil();

protected:
ClippingNode();

protected:
Node* _stencil;
GLfloat _alphaThreshold;
bool    _inverted;
};

NS_CC_END

#endif // __MISCNODE_CCCLIPPING_NODE_H__
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: