有了主角頭像面板,我們還需要在此基礎上改造出監視對象頭像面板;前文中我曾有提到,既然是通用型控件,我們只需進行參數的修改即可實現不同的界面表現形式。因此首先需要定義一個名為RoleFaceTypes的枚舉進行區分:
/// 角色頭像值面板類型
public enum RoleFaceTypes {
/// 主角頭像面板
Leader = 0,
/// 監視對象頭像面板
Object = 1,
/// 隊伍頭像面板
Team = 2,
}
如上,我們只需在游戲窗體中以RoleFaceTypes為參數創建QXRoleFace控件,即可以創建出對應的頭像面板,例如我們通過如下方式創建監視對象頭像面板:
QXRoleFace ObjectRoleFace = new QXRoleFace(RoleFaceTypes.Object);
當然,主角與監視對象頭像面板之間是存在方向、尺寸上的差異的,且後者少了2個值條;因此,在構建QXRoleFace控件的時候,我們根據RoleFaceTypes的類型進行相應的子控件位置布局及隱藏,具體調整在源碼中,這裡就不一一列舉了。終於完成了,讓我們看看效果:
上圖右邊即為主角監視自身的頭像面板,呵呵,稍微粗糙了些呢,我相信大家能做得更好!
最後就是關於監視對象面板的顯示場合及顯示方式;在本節例子中,我暫時使用如下模式:當鼠標懸停於精靈對象上時即顯示其頭像面板,離開時該面板隱藏。具體的實現代碼只需在上一節命中測試方法中的鼠標進入精靈有效區域及離開時進行相關簡單處理即可。
其他的界面微調代碼雖然很繁多,但是只要大家是跟著本系列教程一節節學下來的,肯定打下了WPF/Silverlight方面很扎實的基礎,這些代碼對於大家來說再簡單不過了,同樣不再一一列舉。
最後國際慣例,讓我們一同欣賞下勞動成果吧:
界面的內容講解似乎有種只便意會,不易言傳的感覺;不同類型的游戲擁有不同的界面風格,大家在開發的時候只需統一美工的繪畫風格,制作出來的游戲界面肯定都是much much個頂個的漂亮;我希望同過本節的簡單講解,能給予大家一些界面制作方面的啟發與思維,讓我們攜手為提升未來的游戲視覺品質共同努力吧!
下一節仿佛將進入戰斗階段了,是不是太快了些。您准備好了嗎?