【unity3d Editor开发】简单节点编辑器(二)
来源:互联网 发布:软件升级必然凯文凯利 编辑:程序博客网 时间:2024/04/30 04:30
上次的拖动窗口已经画出来了,这次我们看看怎么将两个窗口用连线连接起来吧。我们在上一篇的程序中,再增加一些代码,如下
using UnityEngine;using UnityEditor;public class NodeEditor : EditorWindow {//窗口的矩形Rect windowRect = new Rect(50, 50, 150, 100);Rect windowRect2 = new Rect(100, 100, 150, 100);//窗口的IDint windownID = 0;int windownID2 = 0;static void ShowEditor() {NodeEditor editor = EditorWindow.GetWindow<NodeEditor>();}void OnGUI() {//绘画窗口BeginWindows();windowRect = GUI.Window(windownID, windowRect, DrawNodeWindow, "Demo Window");windowRect2 = GUI.Window(windownID2,windowRect2,DrawNodeWindow,"Demo Window2");EndWindows();//连接窗口DrawNodeCurve(windowRect,windowRect2);}//绘画窗口函数void DrawNodeWindow(int id) {//创建一个GUI Buttonif (GUILayout.Button("Link")) {Debug.Log("Clikc Link Button");}//设置改窗口可以拖动GUI.DragWindow();}void DrawNodeCurve(Rect start, Rect end , Color color) {Vector3 startPos = new Vector3(start.x + start.width, start.y + start.height / 2, 0);Vector3 endPos = new Vector3(end.x, end.y + end.height / 2, 0);Vector3 startTan = startPos + Vector3.right * 50;Vector3 endTan = endPos + Vector3.left * 50;Handles.DrawBezier(startPos, endPos, startTan, endTan, color, null, 4);}}
运行Editor,出现这样的效果,是不是很帅气?当然,这还只是一些初步的代码,不过还是分享给大家学习,祝大家早日做好节点编辑器
0 0
- 【unity3d Editor开发】简单节点编辑器(二)
- 【unity3d Editor开发】简单节点编辑器(一)
- 【Editor】 Unity3D Editor 编辑器简易教程
- Unity3D Editor 编辑器简易教程
- Unity3D Editor 编辑器简易教程
- Unity3D Editor 编辑器简易教程
- 【Unity3D游戏开发学习笔记】(二)Unity3D编辑器总览
- Unity3d——自定义编辑器Editor教程
- Unity3D 场景编辑器扩展学习笔记-Editor
- unity3D游戏开发二之unity编辑器一
- unity3D游戏开发三之unity编辑器二
- unity3D游戏开发二之unity编辑器一
- unity3D游戏开发三之unity编辑器二
- unity3D游戏开发三之unity编辑器二
- unity3D游戏开发二之unity编辑器一
- unity3D游戏开发三之unity编辑器二
- Unity Editor 编辑器扩展二 Inspector面板特殊属性
- Unity3D游戏开发之Unity3D场景编辑器扩展开发
- 网站是否要修改标题
- Afinal 框架 Afinal DB的学习
- OGNL使用小结
- 普通IO口模拟实现I2C通信及应用解析
- 音视频对讲SDK让游戏嗨起来
- 【unity3d Editor开发】简单节点编辑器(二)
- 搁浅岁月,幸福就在身边
- 堆与堆排序
- windows 下搭建git服务器,及问题处理。
- 泻药的几种不良反应
- hdu4961-Boring Sum
- oracle login_audit trigger
- GCD的主要方法介绍
- IOS中获取各种文件的目录路径的方法