簡單節(jié)點編輯器(一)

本文轉(zhuǎn)自:http://blog.csdn.net/feng888668/article/details/38706099

很多ARPG游戲泼疑,由于劇情需要,都會有大量的游戲事件辕录,如果每個事件都要用程序?qū)懀切屎统鲥e率都會高很多梢卸,所以呢走诞,做一款事件節(jié)點編輯器還是必須的,但是在Unity3D里蛤高,要怎么做節(jié)點編輯器呢蚣旱?我大概找了幾天資料,研究出一點點關(guān)于節(jié)點編輯器的效果戴陡,現(xiàn)在給大家分享一下吧塞绿。
最終實現(xiàn)的效果如下圖,感覺還不錯吧!


需要掌握的知識點:
1 如何畫曲線
很多人會問恤批,綠色的那條曲線是怎么畫出來的异吻,其實也是unity幫我們寫好了,只是一直都沒找到這種相關(guān)的API喜庞,google翻了好久才找到诀浪。
這個API函數(shù)是:
Handles.DrawBezier (Vector3 startPosition, Vector3 endPosition, Vector3 startTangent, Vector3 endTangent, Color color, Texture2D texture, float width)
startPosition:起點坐標(biāo)endPosition:終點坐標(biāo)startTangent:起點的正切值endTangent:終點的正切值color:線條顏色texture:貼圖width:線條寬度
2 如何創(chuàng)建可拖動的窗口
我們可以利用unity自帶的API GUI.Window來創(chuàng)建窗口,事例代碼如下

using UnityEngine;  
using UnityEditor;  
public class NodeEditor : EditorWindow {  
    //窗口的矩形  
    Rect windowRect = new Rect(50,50,150,100);  
    //窗口的ID  
    int windownID = 0;  
    [MenuItem("Window/NodeEditor")]  
    static void ShowEditor() {  
        NodeEditor editor = EditorWindow.GetWindow<NodeEditor>();  
    }  
      
    void OnGUI() {  
        //繪畫窗口  
        windowRect = GUI.Window(windownID,windowRect,DrawNodeWindow,"Demo Window");  
    }  
      
    //繪畫窗口函數(shù)</span><span style="font-weight: normal;">  
    void DrawNodeWindow(int id) {  
    }  
}  

最終你會看到這個窗口效果



3 如何在窗口里面添加一個按鈕延都?并且窗口可以拖動呢雷猪?添加按鈕并且拖動,其實很簡單晰房,只要在DrawNodeWindow函數(shù)里面寫上你需要的GUI容器求摇。

//繪畫窗口函數(shù)  
void DrawNodeWindow(int id) {  
    //創(chuàng)建一個GUI Button</span>  
    Debug.Log("Clikc Link Button");  
    }  
    //設(shè)置改窗口可以拖動</span>  
    GUI.DragWindow();  
}  

這個時候,運行這個Editor殊者,你會發(fā)現(xiàn)出錯了月帝,究竟是怎么回事呢?原來是我們沒有將窗口和窗口元素合成一個組幽污,那我們修改一下代碼,如下:

using UnityEngine;  
using UnityEditor;  
public class NodeEditor : EditorWindow {  
    //窗口的矩形  
    Rect windowRect = new Rect(50,50,150,100);  
    //窗口的ID  
    int windownID = 0;  
    static void ShowEditor() {  
        NodeEditor editor = EditorWindow.GetWindow<NodeEditor>();  
    }  
    void OnGUI() {  
        BeginWindows();  
        //繪畫窗口  
        windowRect = GUI.Window(windownID,windowRect,DrawNodeWindow,"Demo Window");  
        EndWindows();  
    }  
    //繪畫窗口函數(shù)  
    void DrawNodeWindow(int id) {  
        //創(chuàng)建一個GUI Button  
        if (GUILayout.Button("Link")) {  
            Debug.Log("Clikc Link Button");</span></span>  
        }  
        //設(shè)置改窗口可以拖動  
        GUI.DragWindow();  
    }  
}  

再次運行Editor簿姨,效果就出來了

今天就先發(fā)到這里距误,要忙工作先,等下再發(fā)下一編扁位,敬請期待


相關(guān)API說明連接
1 BeginWindos()和EndWindows()
2 GUI.Window()
**3 Handles.DrawBezier() **
4 GUI.DragWindow();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末准潭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子域仇,更是在濱河造成了極大的恐慌刑然,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暇务,死亡現(xiàn)場離奇詭異泼掠,居然都是意外死亡怔软,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門择镇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挡逼,“玉大人,你說我怎么就攤上這事腻豌〖铱玻” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵吝梅,是天一觀的道長虱疏。 經(jīng)常有香客問我,道長苏携,這世上最難降的妖魔是什么做瞪? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮兜叨,結(jié)果婚禮上穿扳,老公的妹妹穿的比我還像新娘。我一直安慰自己国旷,他們只是感情好矛物,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著跪但,像睡著了一般履羞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屡久,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天忆首,我揣著相機與錄音,去河邊找鬼被环。 笑死糙及,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筛欢。 我是一名探鬼主播浸锨,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼版姑!你這毒婦竟也來了柱搜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤剥险,失蹤者是張志新(化名)和其女友劉穎聪蘸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡健爬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年控乾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浑劳。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡阱持,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魔熏,到底是詐尸還是另有隱情衷咽,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布蒜绽,位于F島的核電站镶骗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏躲雅。R本人自食惡果不足惜鼎姊,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望相赁。 院中可真熱鬧相寇,春花似錦、人聲如沸钮科。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绵脯。三九已至佳励,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛆挫,已是汗流浹背赃承。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悴侵,地道東北人瞧剖。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像可免,于是被迫代替她去往敵國和親筒繁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容