1. 程式人生 > >cocos2dx C++ 遞迴獲取子節點

cocos2dx C++ 遞迴獲取子節點

遞迴獲取子節點

Node* HelloWorld::seekFromRootByName(Node* root, std::string& name)
{
    if (!root)
        return nullptr;
    if (root->getName() == name)
        return root;
 
    const auto& arrayNode = root->getChildren();
    for (auto& child : arrayNode)
    {
        Node* pNode = dynamic_cast<Node*>(child);
        if (pNode)
        {
            Node* res = seekFromRootByName(pNode, name);
            if (res)
                return res;
        }
    }
    return nullptr;
}


在迴圈體中儘量少用這個方法,原因程式猿都知道

相關推薦

cocos2dx C++ 獲取節點

遞迴獲取子節點 Node* HelloWorld::seekFromRootByName(Node* root, std::string& name) { if (!root) return nullptr; if (root->

MYSQL 獲取 節點

表結構 create table `tb_xa_department` ( `id` bigint (20), `department_name` varchar (150), `level` int (11), `parent_id` bigint (20), `vendor_i

JS-獲取當前節點全部指定型別的節點

線上預覽 方法 使用nodeType判斷型別,在allChildNodes方法內建立遞迴函式將allCN封裝在方法內。 <!DOCTYPE html> <html lang="en"> <head> <title>Document<

js原生獲取一個節點的所有父級節點

<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> </head>

js獲取某個父節點下面的所有節點

本次的工作主要是計算節點橙色部分標記的子節點數量,沒有橙色部分的節點,只是隱藏了橙色部分 json資料格式類似這種: { "name": "aaa", "Children": [ { "name": "aaa",

Mysql獲取某個父節點下面的所有節點節點上的所有父節點

在MySQL中自定義函式來實現遞迴獲取所有子節點,該方式的優點是可以減少java程式碼量,缺點是:1.不好維護;2.拼接的欄位太長的時候,自定義函式的返回值可能容量不夠,此時可以定義為text等大容量型別;3:show variables like 'group_concat_max_len'&nb

java獲取某個父節點下面的所有節點

一.舉個栗子 1.menu實體類 package com.dafy.insureagent.bean; public class Menu { private String id; private String name; private String pid; p

獲取當前節點全部指定類型的節點

lang 類型 當前 能夠 tle nodetype i++ 文檔 not 在線預覽 方法 使用nodeType判斷類型,在allChildNodes方法內建立遞歸函數將allCN封裝在方法內。 <!DOCTYPE html> <html lang="

Unity學習筆記003.查詢物體/獲取物體元件

public static Transform FindChild(Transform parent,string name) { Transform child = null; child = parent.Find(name); if (child != null)

c#遍歷指定資料夾內的所有檔案(包含資料夾)

c#程式碼: public class DirectoryAllFiles { static List<FileInformation> FileList = n

C# 父子選單填充到TreeNode(並根據次數設定節點選中狀態)

/// <summary> /// 子節點選中的遞迴次數 /// </summary> static int recursionCount = 0; /// <summary> /// 設定選單到TreeNode /// </summary> ///

Oracle plsql統計所有節點下的節點&內容個數——start with connect by prior用法

有些情況下,在存有層級關係的表中,id欄位值本身會包含層級關係,例如每兩位表示一級。 要想只統計某個或某幾個層級節點下子節點+內容個數,就需要使用類似like ‘01%’的過濾條件即可。 例如select count(1) from test_category t wh

取得當前節點下所有節點

接到需求需要更新父節點下所有子節點的資料,首先想到的就是遞迴。說實話,遞迴一直只是知道概念,一直還真沒在實踐中用過。 資料結構的樣子大約如下: MBCBKM0000009,二,,開發直接成本,10,1,5,1, MBCBKM0000010,2,,開發前期準備費,11,2,3

C#遍歷TreeView節點

private void 遞迴遍歷樹節點(TreeNodeCollection aNodes) { foreach (TreeNode iNode in aNodes) { te

oracle樹形結構由節點得到父節點

start with  connect by 語法結構 其語法結構為  start with condition  connect by  condition (含 prior 關鍵字) start with conditon 給出的seed 資料的範圍, connect

python編寫爬蟲獲取區域程式碼-獲取所有頁面

上一篇文章用htmlparser寫了一個java的獲取區域的爬蟲,覺得太笨重。發現python也可以實現這個功能。 這裡就簡單寫一個用python3寫的小爬蟲例子 功能目標:對指定網站的所有區域資訊進行篩選,並儲存到文字中 思路:1、定義一個佇列,初始向佇列中put一個地址

運用 刪除父節點同事刪除節點

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <%!private void del(Connection conn,int

如何用C++來刪除所有的BST節點

關於BST的知識點,小編不在這裡細講了,不懂的大家自行百度吧或者查詢有關資料。但是,小編還是會告訴你BST的全名是啥,不然你們查資料太費事了。BST的全名是binary search tree。大概中文名就叫做二叉搜尋樹。 下面就展示如何用C++程式碼來實現這

JS之獲取節點

區別 ren 標簽 什麽 cnblogs 成功 屬性 des size    在JS中獲取子節點有以下幾種方法: firstElementChild、firstChild、childNodes和children 我們通過一個例子來分析這幾種方法的區別(獲取div下的p標簽)

js歸渲染節點(點擊父節點展示節點

ner container com 循環 cnblogs each ber 獲取 r+ 需求概況如下:點擊某個文件夾,顯示該文件夾下的子文件夾。文件夾的層級和數量不固定。 在這裏,我簡單準備了一下數據結構,來模擬這個效果:var nodes=[ {