溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

[Cocos2D-X] 簡述Cocos2D-X中的內(nèi)部函數(shù)

發(fā)布時間:2020-08-06 10:08:58 來源:網(wǎng)絡(luò) 閱讀:3626 作者:s13039962531 欄目:游戲開發(fā)

簡述Cocos2D-X中的內(nèi)部函數(shù)

    雖然,Cocos2D-X 已經(jīng)火了很長一陣子了。但,還是有很多同學(xué)剛剛接觸 Cocos2D-X ,他們對Cocos2D-X 中一些引擎內(nèi)部的基礎(chǔ)函數(shù),還不是很了解,那么今天我們就來介紹一下這些函數(shù)。   

    virtual bool isVisible();    // 是否可見
    virtual void setVisible(bool visible);      // 設(shè)置是否可見
    bool isRunning();       // 節(jié)點是否允許
    bool isIgnoreAnchorPointForPosition();    // 如果為真,則節(jié)點錨點坐標(biāo)為(0,0)
    void ignoreAnchorPointForPosition(bool isIgnoreAnchorPointForPosition);     // 設(shè)置是否忽略錨點坐標(biāo)
    static CCNode * create(void);       // 創(chuàng)建一個CCNode對象,有自動釋放對象功能
    virtual void onEnter();      // 節(jié)點進(jìn)入舞臺(stage)時的回調(diào)函數(shù) 
    virtual void onEnterTransitionDidFinish();  // 節(jié)點計入舞臺后的回調(diào)函數(shù)
    virtual void onExit();    // 節(jié)點離開舞臺后的回調(diào)函數(shù)
    virtual void onExitTransitionDidStart();    //節(jié)點離開舞臺時的回調(diào)函數(shù)
    virtual void registerScriptHandler(int nHandler);     // 注冊onEnter、onExit的腳本處理函數(shù),onEnter運行后腳本處理函數(shù)自動取消注冊
    virtual void unregisterScriptHandler(void);      // 取消注冊腳本處理函數(shù)
    virtual void addChild(CCNode * child);     // 增加子節(jié)點,z坐標(biāo)為0。如果子節(jié)點附加到一個運行中的節(jié)點,那么onEnter和onEnterTransitionDidFinish函數(shù)將立即被調(diào)用
    virtual void addChild(CCNode * child, int zOrder);    // 增加子節(jié)點,z坐標(biāo)為zOrder。如附加到一個運行中節(jié)點,同上
    virtual void addChild(CCNode * child, int zOrder, int tag);   // 增加子節(jié)點,z坐標(biāo)為zOrder,tag為標(biāo)志。如附加到運行中節(jié)點,同上。
    void removeFromParentAndCleanup(bool cleanup);    // 從父節(jié)點中刪除自己,若參數(shù)cleanup為真,同時刪除所有動作和回調(diào)函數(shù)。若本節(jié)點無父節(jié)點,則不執(zhí)行操作
    virtual void removeChild(CCNode* child, bool cleanup);     // 刪除子節(jié)點。根據(jù)參數(shù)cleanup刪除運行中的動作
    void removeChildByTag(int tag, bool cleanup);    // 通過tag值刪除子節(jié)點,根據(jù)參數(shù)cleanup刪除動作
    virtual void removeAllChildrenWithCleanup(bool cleanup);    // 刪除所有子節(jié)點,根據(jù)參數(shù)cleanup刪除動作*/
    CCNode * getChildByTag(int tag);     //根據(jù)tag值獲取子節(jié)點,返回值是CCNode型
    virtual void reorderChild(CCNode * child, int zOrder);    // 根據(jù)參數(shù)zOrder對子節(jié)點重排序,子節(jié)點必須已經(jīng)被附加至本節(jié)點
    virtual void sortAllChildren();    // 在被繪制前對子節(jié)點進(jìn)行排序,而不是在每次增減子節(jié)點時排序。除非子節(jié)點在同一幀內(nèi)附加后被刪除,不然不要手動調(diào)用此方法
    virtual void cleanup(void);     // 停止所有運行的動作和定時器
    virtual void draw(void);      // 可重載此函數(shù)來繪制節(jié)點
    virtual void visit(void);     // 遞歸訪問子節(jié)點并繪制它們
    CCAction* runAction(CCAction* action);     // 運行指定的動作
    void stopAllActions(void);     // 從運行動作列表中刪除所有動作,即停止所有動作
    void stopAction(CCAction* action);     // 停止指定的動作
    void stopActionByTag(int tag);     // 停止參數(shù)tag指定的動作
    CCAction* getActionByTag(int tag);    // 獲取參數(shù)tag指定的動作
    unsigned int numberOfRunningActions(void);     // 運行動作的數(shù)目,為運行中的動作數(shù)加上定時器計劃將運行的動作數(shù)。組合動作如序列動作將被當(dāng)成一個動作計算。
    bool isScheduled(SEL_SCHEDULE selector);     // 檢測參數(shù)selector指定的選擇器是否被計劃定時
    void scheduleUpdate(void);     // 定時調(diào)度update方法,其序列號為0。定時后,每幀將調(diào)用一次update方法。序列號越小的定時器越先調(diào)度。每個節(jié)點只能定時一個update方法。
    void scheduleUpdateWithPriority(int priority);    // 定時調(diào)度update選擇器,自定義優(yōu)先級。每幀將調(diào)用一次update選擇器。優(yōu)先級越小越先調(diào)度。每個節(jié)點只能定時一個update選擇器。
    void unscheduleUpdate(void);     // 取消定時update
    void schedule(SEL_SCHEDULE selector);     // 定時一個選擇器,每幀調(diào)用一次
    void schedule(SEL_SCHEDULE selector, float interval);    // 定時一個自定義選擇器,參數(shù)interval為時間間隔,單位為秒。若interval為0,則每幀調(diào)用一次(此時推薦使用scheduleUpdate方法)。若選擇器已被定時,則僅更新時間間隔,而不重復(fù)定時。
    void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);  // 重復(fù)執(zhí)行動作repeat+1次,不斷重復(fù)則設(shè)置repeat為kCCRepeatForever。參數(shù)delay指定動作執(zhí)行前延遲的時間
    void scheduleOnce(SEL_SCHEDULE selector, float delay);     // 定時一個僅運行一次的選擇器
    void unschedule(SEL_SCHEDULE selector);    // 取消定時一個選擇器
    void unscheduleAllSelectors(void);    // 取消所有定時器,包括update選擇器。動作不受影響
    void resumeSchedulerAndActions(void);    // 恢復(fù)所有定時器和動作,被onEnter內(nèi)部調(diào)用
    void pauseSchedulerAndActions(void);    // 暫停所有定時器和動作,被onExit內(nèi)部調(diào)用

    好了,今天就介紹到這里。如果,大家有什么不懂的,或者有什么想學(xué)習(xí)的,可以直接留言哦。

    CocoStudio 討論學(xué)習(xí)群:141444261

    Cocos2D-X  討論學(xué)習(xí)群:244959010

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI