electron仿制UnrealEngine4 蓝图功能模块
来源:互联网 发布:ubuntu ntp server 编辑:程序博客网 时间:2024/06/06 03:30
electron仿制UnrealEngine4蓝图功能模块
1. electron的下载和安装
2. 右键菜单的实现
累的吐血。。。
2017/9/22更新
菜单节点控制
var treeMenuNode = { instantObject: function (name,type) { var treeMenuNode = new Object(); // console.log('generate treeMenuNode'); treeMenuNode.name = arguments[0]; treeMenuNode.tpye = arguments[1]; treeMenuNode.childrenNodes = new Array(); treeMenuNode.setChildrenNodes = function(array){ // this.childrenNodes = arguments[0].slice(); this.childrenNodes = arguments[0]; } treeMenuNode.addChild = function(treeMenuNode){ // console.log('addChild') this.childrenNodes.push(arguments[0]); } treeMenuNode.attacheTo = function(Node){ // console.log('attacheTo') arguments[0].childrenNodes.push(treeMenuNode) } treeMenuNode.testfunction = function(){ } treeMenuNode.traverse = function(textStack,tempStack){ // console.log() // // console.log() // arguments[0].push(treeMenuNode.name); if(treeMenuNode.tpye == 'folder') { arguments[0].push( '<customFolder>'+ "<customFolderDeatils isOpen='false'>"+ '>'+ treeMenuNode.name+ "</customFolderDeatils>" ) // arguments[1].push(treeMenuNode) for(var i = 0;i<treeMenuNode.childrenNodes.length;i++) { // console.log('test') treeMenuNode.childrenNodes[i].traverse(arguments[0],arguments[1]); } arguments[0].push( '</customFolder>' ) } else { arguments[0].push( '<customNode>'+ treeMenuNode.name+ '</customNode>' ) } return; } return treeMenuNode; }}var treeMenuOptions = { instantObject: function(elem,MenuNodes){ var treeMenuOptions = new Object(); treeMenuOptions.elem = arguments[0]; treeMenuOptions.treeMenuNodes = new Array(); treeMenuOptions.treeMenuNodes = arguments[1]; // console.log('generate treeMenuOptions') return treeMenuOptions }}var treeMenu = { instantObject: function (MenuOptions) { var treeMenu = new Object(); treeMenu.treeMenuOptions = arguments[0]; treeMenu.treeTextStack = new Array(); treeMenu.treeTempStack = new Array(); treeMenu.spawnTreeMenu = function(){ for(var i = 0;i<treeMenu.treeMenuOptions.treeMenuNodes.length;i++) { treeMenu.treeMenuOptions.treeMenuNodes[i].traverse(treeMenu.treeTextStack); } var x = document.getElementById(treeMenu.treeMenuOptions.elem) x.innerHTML = treeMenu.treeTextStack.join(''); } // console.log('generate treeMenu'); return treeMenu; }}var treeMenuNode_1_3 = treeMenuNode.instantObject('testobject3');var treeMenuNode_1_2 = treeMenuNode.instantObject('testobject2');var treeMenuNode_1_1 = treeMenuNode.instantObject('testobject1');var treeMenuNode_2_3 = treeMenuNode.instantObject('testobject3');var treeMenuNode_2_2 = treeMenuNode.instantObject('testobject2');var treeMenuNode_2_1 = treeMenuNode.instantObject('testobject1');var treeMenuNode_1 = treeMenuNode.instantObject('object','folder');var treeMenuNode_2 = treeMenuNode.instantObject('function','folder');treeMenuNode_1.setChildrenNodes([treeMenuNode_1_1,treeMenuNode_1_2,treeMenuNode_1_3]);treeMenuNode_2.setChildrenNodes([treeMenuNode_2_1,treeMenuNode_2_2,treeMenuNode_2_3]);var myTreeMenuOptions = treeMenuOptions.instantObject('test',[treeMenuNode_1,treeMenuNode_2]);var myTreeMenu = treeMenu.instantObject(myTreeMenuOptions);myTreeMenu.spawnTreeMenu();// console.log(myTreeMenu.treeMenuOptions.elem);console.log(myTreeMenu.treeTextStack.join(''));function addTree(){ var treeMenuNode_1_3 = treeMenuNode.instantObject('testobject3'); var treeMenuNode_1_2 = treeMenuNode.instantObject('testobject2'); var treeMenuNode_1_1 = treeMenuNode.instantObject('testobject1'); var treeMenuNode_2_3 = treeMenuNode.instantObject('testobject3'); var treeMenuNode_2_2 = treeMenuNode.instantObject('testobject2'); var treeMenuNode_2_1 = treeMenuNode.instantObject('testobject1'); var treeMenuNode_1 = treeMenuNode.instantObject('object','folder'); var treeMenuNode_2 = treeMenuNode.instantObject('function','folder'); treeMenuNode_1.setChildrenNodes([treeMenuNode_1_1,treeMenuNode_1_2,treeMenuNode_1_3]); treeMenuNode_2.setChildrenNodes([treeMenuNode_2_1,treeMenuNode_2_2,treeMenuNode_2_3]); var myTreeMenuOptions = treeMenuOptions.instantObject('test',[treeMenuNode_1,treeMenuNode_2]); var myTreeMenu = treeMenu.instantObject(myTreeMenuOptions); // myTreeMenu.spawnTreeMenu(); // alert('123') // alert(myTreeMenu.treeTextStack.length) myTreeMenu.spawnTreeMenu();}
暂时功能为:生成树状菜单,
需要结合css进行样式控制
控制js脚本进行折叠控制。
代码写在博客里面还是有点麻烦,等有空了去git开个仓库。思路写博客,代码存仓库
2017/9/27
调整项目结构
渲染与页面分开
3. 节点的实现
4. 通过菜单放置节点
5. 节点的完善
6. 抽象二叉树的生成
7. LLVM接口调用
8. 程序运行
flag立好了,哈哈哈。
阅读全文
0 0
- electron仿制UnrealEngine4 蓝图功能模块
- electron仿制UE蓝图 之 底部棋盘
- electron 仿制 ue4 蓝图 之 titlebar
- Electron
- electron
- 功能模块
- UnrealEngine4-Roadmap
- 仿制QQ
- UnrealEngine4.2.0编译小记
- UnrealEngine4初始化流程
- UnrealEngine4初始化流程
- UnrealEngine4 学习总结备忘
- UnrealEngine4清除临时文件
- 【Electron】Electron开发入门
- UnrealEngine4编码风格的思考
- UnrealEngine4之UObject(一)
- UnrealEngine4编码风格的思考
- UnrealEngine4 PBR Shading Model 概述
- GAN经验总结
- 【UVA1629】Cake slicing
- 自定义带进度条WebView类似微信加载过程
- 利用百度地图API和群蚁算法,对TSP问题进行模拟与求解
- 在realm中动态查询用户的权限&角色
- electron仿制UnrealEngine4 蓝图功能模块
- POJ 1733 Parity game——并查集 + 离散化
- 从零开始接入腾讯云智能推荐
- jetty换启动端口
- mysql:union与union all的区别
- Name node is in safe mode 解除安全模式
- 拆带13个字节帧头的264文件
- Spring bean factory
- POJ 3292 Semi-prime H-numbers