@1140237871 写道:
如题,水一帖,chrome打印当前creator场景所有节点名称及节点所带组件信息,不喜轻喷
这是我测试的打印结果:
这是根据ts代码转出来的js,用chrome打开creator游戏后,调出控制台,然后把这段代码复制进入运行就能看到效果了,ts文件在下面
var scene = cc.director.getScene(); var nodeList = new Array(); var total = 0; var startTime = new Date().valueOf(); var searchNode = function (node) { nodeList.push(node); total++; for (var i = 0; i < node.childrenCount; i++) { searchNode(node.children[i]); } }; var startSearchNode = function () { total = 0; startTime = new Date().valueOf(); nodeList = new Array(); searchNode(scene); console.log("searchNode total:" + total + " time:" + (new Date().valueOf() - startTime)); }; var nodeComponentMsglist = []; var getComponentList = function () { nodeComponentMsglist = []; nodeList.forEach(function (node) { var obj = { nodeName: node.name, componentCount: node._components.length, componentNameListText: null }; var componentNameList = node._components.map(function (component) { return component.name; }); obj.componentNameListText = componentNameList.join(' '); nodeComponentMsglist.push(obj); }); }; var outputNodeList = function () { startSearchNode(); getComponentList(); console.table(nodeComponentMsglist); }; outputNodeList();ts 代码如下:
let scene = cc.director.getScene(); let nodeList: Array<cc.Node> = new Array<cc.Node>(); let total = 0; let startTime = new Date().valueOf(); let searchNode = (node: cc.Node) => { nodeList.push(node); total++; for (let i = 0; i < node.childrenCount; i++) { searchNode(node.children[i]); } } let startSearchNode = () => { total = 0; startTime = new Date().valueOf(); nodeList = new Array<cc.Node>(); searchNode(scene); console.log(`searchNode total:${total} time:${(new Date().valueOf() - startTime)}`); } let nodeComponentMsglist: Array<{ nodeName: string, componentCount: number, componentNameListText: string }> = []; let getComponentList = () => { nodeComponentMsglist = []; nodeList.forEach((node) => { let obj = { nodeName: node.name, componentCount: node._components.length, componentNameListText: null }; let componentNameList = node._components.map((component: cc.Component) => { return component.name; }); obj.componentNameListText = componentNameList.join(' '); nodeComponentMsglist.push(obj); }); } let outputNodeList = () => { startSearchNode(); getComponentList(); console.table(nodeComponentMsglist); } outputNodeList();
帖子: 1
参与者: 1
