日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos2d CCNode类(节点属性大全)

發(fā)布時(shí)間:2025/3/18 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos2d CCNode类(节点属性大全) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 CCNode是cocos2d-x中一個(gè)很重要的類,CCNode是場景、層、菜單、精靈等的父類。而我們在使用cocos2d-x時(shí),接觸最多的就是場景、層、菜單、精靈等。所以有必要先弄懂CCNode類

?

2 CCObject類是cocos2d-x中所有對象的基類,CCObject封裝了對象的引用計(jì)數(shù)和自動(dòng)釋放功能,下面是類圖

?

?

3 因?yàn)閳鼍啊印⒕`、菜菜單是CCNode的子類,所以在使用它們時(shí),有些方法來自CCNode,下面解釋了CCNode中常用的方法

[cpp]?
//初始化CCNode??
bool init();?
?
//生成CCNode對象??
CCNode * create(void);?
?
//獲取描述字符串 便于調(diào)試??
const char* description(void);?
?
//設(shè)置節(jié)點(diǎn)Z軸順序 當(dāng)有多個(gè)節(jié)點(diǎn)在Z軸顯示時(shí) 引擎會(huì)根據(jù)它們Z軸的大小決定繪制順序 Z軸大的會(huì)覆蓋Z軸小的??
void setZOrder(int zOrder);?
void _setZOrder(int z);?
//獲取節(jié)點(diǎn)Z軸順序??
int getZOrder();?
?
//設(shè)置OpenGL Z軸頂點(diǎn)??
void setVertexZ(float vertexZ);?
//獲取OpenGL Z軸頂點(diǎn)??
float getVertexZ();?
?
//設(shè)置節(jié)點(diǎn)X軸比例因子??
void setScaleX(float fScaleX);?
//獲取節(jié)點(diǎn)X軸比例因子??
float getScaleX();?
?
//設(shè)置節(jié)點(diǎn)Y軸比例因子??
void setScaleY(float fScaleY);?
//獲取節(jié)點(diǎn)Y軸比例因子??
float getScaleY();?
?
//設(shè)置節(jié)點(diǎn)比例因子 同時(shí)設(shè)置X軸、Y軸??
void setScale(float scale);?
//獲取節(jié)點(diǎn)比例因子 必須X軸、Y軸比例因子相等??
float getScale();?
?
//設(shè)置節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)???
void setPosition(const CCPoint &position);?
//獲取節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)???
const CCPoint& getPosition();?
?
//設(shè)置節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)??
void setPosition(float x, float y);?
//獲取節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)??
void getPosition(float* x, float* y);?
?
//設(shè)置節(jié)點(diǎn)在OpenGL中的X坐標(biāo)??
void setPositionX(float x);?
//獲取節(jié)點(diǎn)在OpenGL中的X坐標(biāo)??
float getPositionX(void);?
//設(shè)置節(jié)點(diǎn)在OpenGL中的Y坐標(biāo)??
void setPositionY(float y);?
//獲取節(jié)點(diǎn)在OpenGL中的Y坐標(biāo)??
float getPositionY(void);?
?
//設(shè)置X軸的傾斜角度??
void setSkewX(float fSkewX);?
//獲取X軸的傾斜角度??
float getSkewX();?
?
//設(shè)置Y軸的傾斜角度??
void setSkewY(float fSkewY);?
//獲取Y軸的傾斜角度??
float getSkewY();?
?
//設(shè)置節(jié)點(diǎn)錨點(diǎn)的位置??
void setAnchorPoint(const CCPoint& anchorPoint);?
//獲取節(jié)點(diǎn)錨點(diǎn)的位置??
const CCPoint& getAnchorPoint();?
?
//設(shè)置節(jié)點(diǎn)的尺寸??
void setContentSize(const CCSize& contentSize);?
//獲取節(jié)點(diǎn)的尺寸??
const CCSize& getContentSize();?
?
//設(shè)置節(jié)點(diǎn)是否可見??
void setVisible(bool visible);?
//獲取節(jié)點(diǎn)是否可見??
bool isVisible();?
?
//設(shè)置節(jié)點(diǎn)自轉(zhuǎn)角度??
void setRotation(float fRotation);?
//獲取節(jié)點(diǎn)自轉(zhuǎn)角度??
float getRotation();?
?
//zOrder 當(dāng)有多個(gè)節(jié)點(diǎn)在Z軸顯示時(shí) 引擎會(huì)根據(jù)它們Z軸的大小決定繪制順序 Z軸大的會(huì)覆蓋Z軸小的??
//添加子節(jié)點(diǎn) zOrder默認(rèn)為0??
void addChild(CCNode * child);?
//添加子節(jié)點(diǎn)??
void addChild(CCNode * child, int zOrder);?
//添加子節(jié)點(diǎn) 指定節(jié)點(diǎn)zOrder和節(jié)點(diǎn)tag??
void addChild(CCNode* child, int zOrder, int tag);?
?
//通過tag名稱獲取節(jié)點(diǎn)??
CCNode * getChildByTag(int tag);?
//獲取所有子節(jié)點(diǎn)??
CCArray* getChildren();?
//獲取子節(jié)點(diǎn)數(shù)目??
unsigned int getChildrenCount(void);?
?
//設(shè)置子節(jié)點(diǎn)的父節(jié)點(diǎn)??
void setParent(CCNode* parent);?
//獲取子節(jié)點(diǎn)的父節(jié)點(diǎn)??
CCNode* getParent();?
?
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn)??
void removeFromParent();?
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 如果Cleanup為true則刪除當(dāng)前節(jié)點(diǎn)的所有動(dòng)作及回調(diào)函數(shù)??
void removeFromParentAndCleanup(bool cleanup);?
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 如果Cleanup為true則刪除當(dāng)前節(jié)點(diǎn)的所有動(dòng)作??
void removeChild(CCNode* child);?
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 并指定Cleanup??
void removeChild(CCNode* child, bool cleanup);?
//通過tag名稱移除節(jié)點(diǎn)??
void removeChildByTag(int tag);?
//通過tag名稱移除節(jié)點(diǎn)并指定Cleanup??
void removeChildByTag(int tag, bool cleanup);?
//移除所有子節(jié)點(diǎn)??
void removeAllChildren();?
//移除所有子節(jié)點(diǎn) 并指定Cleanup??
void removeAllChildrenWithCleanup(bool cleanup);?
?
//重新設(shè)定節(jié)點(diǎn)的zOrder??
void reorderChild(CCNode * child, int zOrder);?
?
//重新排序所有子節(jié)點(diǎn)??
void sortAllChildren();?
?
//獲取節(jié)點(diǎn)的tag名稱??
int getTag();?
//設(shè)置節(jié)點(diǎn)的tag名稱??
void setTag(int nTag);?
?
//獲取節(jié)點(diǎn)的CCCamera攝像機(jī) cocos2d-x是通過3D方式繪制2D效果??
CCCamera* getCamera();?
?
//判斷當(dāng)前節(jié)點(diǎn)是否在運(yùn)行??
bool isRunning();?
?
//節(jié)點(diǎn)開始進(jìn)入舞臺(tái)時(shí)的回調(diào)事件??
void onEnter();?
//節(jié)點(diǎn)進(jìn)入舞臺(tái)時(shí)的回調(diào)事件??
void onEnterTransitionDidFinish();?
//節(jié)點(diǎn)離開舞臺(tái)時(shí)的回調(diào)事件??
void onExit();?
?
//停止所有運(yùn)行的動(dòng)作和回調(diào)函數(shù)??
void cleanup(void);?
?
//繪制節(jié)點(diǎn)??
void draw(void);?
?
//遞歸visit子節(jié)點(diǎn)并重繪??
void visit(void);?
?
//返回節(jié)點(diǎn)對象的矩形框(由坐標(biāo)寬高組成)??
CCRect boundingBox(void);?
?
//設(shè)置CCActionManager對象被所有動(dòng)作使用??
void setActionManager(CCActionManager* actionManager);?
//獲取被所有動(dòng)作使用的CCActionManger??
CCActionManager* getActionManager();?
?
//執(zhí)行動(dòng)作??
CCAction* runAction(CCAction* action);?
//停止動(dòng)作??
stopAction(CCAction* action);?
?
?
//停止所有動(dòng)作??
void stopAllActions(void);?
?
//通過tag名稱獲取動(dòng)作??
CCAction* getActionByTag(int tag);?
?
//獲取正在運(yùn)行的動(dòng)作數(shù)量??
unsigned int numberOfRunningActions(void);?
?
//定義一個(gè)定時(shí)器??
void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);?
//定義一個(gè)定時(shí)器??
void schedule(SEL_SCHEDULE selector, float interval);?
?
//取消一個(gè)定時(shí)器??
void unschedule(SEL_SCHEDULE selector);?
//取消所有定時(shí)器??
void unscheduleAllSelectors(void);?
?
//暫停所有定時(shí)器和動(dòng)作??
void pauseSchedulerAndActions(void);?
//恢復(fù)所有定時(shí)器和動(dòng)作??
void resumeSchedulerAndActions(void);?

//初始化CCNode
bool init();

//生成CCNode對象
CCNode * create(void);

//獲取描述字符串 便于調(diào)試
const char* description(void);

//設(shè)置節(jié)點(diǎn)Z軸順序 當(dāng)有多個(gè)節(jié)點(diǎn)在Z軸顯示時(shí) 引擎會(huì)根據(jù)它們Z軸的大小決定繪制順序 Z軸大的會(huì)覆蓋Z軸小的
void setZOrder(int zOrder);
void _setZOrder(int z);
//獲取節(jié)點(diǎn)Z軸順序
int getZOrder();

//設(shè)置OpenGL Z軸頂點(diǎn)
void setVertexZ(float vertexZ);
//獲取OpenGL Z軸頂點(diǎn)
float getVertexZ();

//設(shè)置節(jié)點(diǎn)X軸比例因子
void setScaleX(float fScaleX);
//獲取節(jié)點(diǎn)X軸比例因子
float getScaleX();

//設(shè)置節(jié)點(diǎn)Y軸比例因子
void setScaleY(float fScaleY);
//獲取節(jié)點(diǎn)Y軸比例因子
float getScaleY();

//設(shè)置節(jié)點(diǎn)比例因子 同時(shí)設(shè)置X軸、Y軸
void setScale(float scale);
//獲取節(jié)點(diǎn)比例因子 必須X軸、Y軸比例因子相等
float getScale();

//設(shè)置節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)
void setPosition(const CCPoint &position);
//獲取節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)
const CCPoint& getPosition();

//設(shè)置節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)
void setPosition(float x, float y);
//獲取節(jié)點(diǎn)(x, y)在OpenGL中的坐標(biāo)
void getPosition(float* x, float* y);

//設(shè)置節(jié)點(diǎn)在OpenGL中的X坐標(biāo)
void setPositionX(float x);
//獲取節(jié)點(diǎn)在OpenGL中的X坐標(biāo)
float getPositionX(void);
//設(shè)置節(jié)點(diǎn)在OpenGL中的Y坐標(biāo)
void setPositionY(float y);
//獲取節(jié)點(diǎn)在OpenGL中的Y坐標(biāo)
float getPositionY(void);

//設(shè)置X軸的傾斜角度
void setSkewX(float fSkewX);
//獲取X軸的傾斜角度
float getSkewX();

//設(shè)置Y軸的傾斜角度
void setSkewY(float fSkewY);
//獲取Y軸的傾斜角度
float getSkewY();

//設(shè)置節(jié)點(diǎn)錨點(diǎn)的位置
void setAnchorPoint(const CCPoint& anchorPoint);
//獲取節(jié)點(diǎn)錨點(diǎn)的位置
const CCPoint& getAnchorPoint();

//設(shè)置節(jié)點(diǎn)的尺寸
void setContentSize(const CCSize& contentSize);
//獲取節(jié)點(diǎn)的尺寸
const CCSize& getContentSize();

//設(shè)置節(jié)點(diǎn)是否可見
void setVisible(bool visible);
//獲取節(jié)點(diǎn)是否可見
bool isVisible();

//設(shè)置節(jié)點(diǎn)自轉(zhuǎn)角度
void setRotation(float fRotation);
//獲取節(jié)點(diǎn)自轉(zhuǎn)角度
float getRotation();

//zOrder 當(dāng)有多個(gè)節(jié)點(diǎn)在Z軸顯示時(shí) 引擎會(huì)根據(jù)它們Z軸的大小決定繪制順序 Z軸大的會(huì)覆蓋Z軸小的
//添加子節(jié)點(diǎn) zOrder默認(rèn)為0
void addChild(CCNode * child);
//添加子節(jié)點(diǎn)
void addChild(CCNode * child, int zOrder);
//添加子節(jié)點(diǎn) 指定節(jié)點(diǎn)zOrder和節(jié)點(diǎn)tag
void addChild(CCNode* child, int zOrder, int tag);

//通過tag名稱獲取節(jié)點(diǎn)
CCNode * getChildByTag(int tag);
//獲取所有子節(jié)點(diǎn)
CCArray* getChildren();
//獲取子節(jié)點(diǎn)數(shù)目
unsigned int getChildrenCount(void);

//設(shè)置子節(jié)點(diǎn)的父節(jié)點(diǎn)
void setParent(CCNode* parent);
//獲取子節(jié)點(diǎn)的父節(jié)點(diǎn)
CCNode* getParent();

//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn)
void removeFromParent();
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 如果Cleanup為true則刪除當(dāng)前節(jié)點(diǎn)的所有動(dòng)作及回調(diào)函數(shù)
void removeFromParentAndCleanup(bool cleanup);
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 如果Cleanup為true則刪除當(dāng)前節(jié)點(diǎn)的所有動(dòng)作
void removeChild(CCNode* child);
//從父節(jié)點(diǎn)中刪除當(dāng)前子節(jié)點(diǎn) 并指定Cleanup
void removeChild(CCNode* child, bool cleanup);
//通過tag名稱移除節(jié)點(diǎn)
void removeChildByTag(int tag);
//通過tag名稱移除節(jié)點(diǎn)并指定Cleanup
void removeChildByTag(int tag, bool cleanup);
//移除所有子節(jié)點(diǎn)
void removeAllChildren();
//移除所有子節(jié)點(diǎn) 并指定Cleanup
void removeAllChildrenWithCleanup(bool cleanup);

//重新設(shè)定節(jié)點(diǎn)的zOrder
void reorderChild(CCNode * child, int zOrder);

//重新排序所有子節(jié)點(diǎn)
void sortAllChildren();

//獲取節(jié)點(diǎn)的tag名稱
int getTag();
//設(shè)置節(jié)點(diǎn)的tag名稱
void setTag(int nTag);

//獲取節(jié)點(diǎn)的CCCamera攝像機(jī) cocos2d-x是通過3D方式繪制2D效果
CCCamera* getCamera();

//判斷當(dāng)前節(jié)點(diǎn)是否在運(yùn)行
bool isRunning();

//節(jié)點(diǎn)開始進(jìn)入舞臺(tái)時(shí)的回調(diào)事件
void onEnter();
//節(jié)點(diǎn)進(jìn)入舞臺(tái)時(shí)的回調(diào)事件
void onEnterTransitionDidFinish();
//節(jié)點(diǎn)離開舞臺(tái)時(shí)的回調(diào)事件
void onExit();

//停止所有運(yùn)行的動(dòng)作和回調(diào)函數(shù)
void cleanup(void);

//繪制節(jié)點(diǎn)
void draw(void);

//遞歸visit子節(jié)點(diǎn)并重繪
void visit(void);

//返回節(jié)點(diǎn)對象的矩形框(由坐標(biāo)寬高組成)
CCRect boundingBox(void);

//設(shè)置CCActionManager對象被所有動(dòng)作使用
void setActionManager(CCActionManager* actionManager);
//獲取被所有動(dòng)作使用的CCActionManger
CCActionManager* getActionManager();

//執(zhí)行動(dòng)作
CCAction* runAction(CCAction* action);
//停止動(dòng)作
stopAction(CCAction* action);


//停止所有動(dòng)作
void stopAllActions(void);

//通過tag名稱獲取動(dòng)作
CCAction* getActionByTag(int tag);

//獲取正在運(yùn)行的動(dòng)作數(shù)量
unsigned int numberOfRunningActions(void);

//定義一個(gè)定時(shí)器
void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
//定義一個(gè)定時(shí)器
void schedule(SEL_SCHEDULE selector, float interval);

//取消一個(gè)定時(shí)器
void unschedule(SEL_SCHEDULE selector);
//取消所有定時(shí)器
void unscheduleAllSelectors(void);

//暫停所有定時(shí)器和動(dòng)作
void pauseSchedulerAndActions(void);
//恢復(fù)所有定時(shí)器和動(dòng)作
void resumeSchedulerAndActions(void);

總結(jié)

以上是生活随笔為你收集整理的cocos2d CCNode类(节点属性大全)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。