寫特效編輯器有一段時間了。。。最近準備發佈具體編寫過程,供大家參考,同時作爲自己的工作記錄。 敬請期待,暫且保存
1. 項目簡介
特效編輯器(下文稱編輯器)是一個基於當下流行的2d遊戲引擎cocos2dx(2.1.4)開發的誇windows和mac平臺的特效編輯工具,爲遊戲開發提供便利,編輯器使用的特效庫與遊戲共享,導出的特效文件可以直接在遊戲中通過特效庫加載使用。 編輯器支持類似於visual studio的資源瀏覽器,可以新建一個項目工程,然後在裏面添加各種特效,方便特效的分類管理,特效在編輯器中所見即所得,下面具體介紹該編輯器。
編輯器目前支持的特效
閃電效果( Lightning Effect ), 粒子系統, 高級精靈( Advanced Sprite ), 網格變形(Mesh Warp)等。
同時支持以上所有特效的組合。編輯器支持Tween變換。
編輯器UI佈局
編輯器界面分爲項目管理,渲染窗口,時間軸,屬性編輯,工具欄5個子窗口,如下圖
項目管理窗口: 支持新建特效和添加分組,考慮到實際遊戲中會有許多特效,他們應用的地方也不盡相同,例如ui特效,技能特效,武器特效等等,這裏就可以根據不同的特效應用場景添加分組
渲染窗口:實時渲染特效及編輯器輔助編輯工具,可以在工具欄中選擇具體的分辨率來調整渲染窗口的大小以適應不同的設備分辨率。
時間軸:時間軸所用的資源來自於CocosBuilder,正式版會替換,目前時間軸支持單幀查看和編輯特效;支持插入多個子特效節點和子效果;時間軸顯示的是一個完整特效的所有子特效和子特效節點。
屬性編輯器窗口:用來編輯選中的特效或者子特效節點的屬性, 該窗口會根據選擇的特效的不同而動態創建。
工具欄:一些快捷更能集合,跟MFC的RibbonBar功能一樣,進行特效的加載保存和新建,以及工具的相關設置。
2. 項目結構
下面的簡圖是我個人整個遊戲開發的工作目錄結構, 其中本文中的編輯器是綠色框部分。EffectEditor即特效編輯器,ProjectFramework提供了一個特效編輯器與其他編輯器共享的編輯器UI框架。
ToolUtil,提供了編輯器項目管理和常用工具類工具集。wxExtensions是對wxWidgets的一個擴展,實現上面圖中的時間軸以及屬相編輯框等衆多原本wxWidgets沒有的控件和功能。
3. 跨平臺界面開發庫wxWidgets
wxWidgets是一個免費開源的App UI開發框架,詳細內容請前往官方地址http://www.wxwidgets.org/瞭解。
到現在還沒有對大家有什麼幫助的地方,接下來我會介紹我的各個效果的實現過程。
To be continued...