Silverlight游戲開發(fā)小技巧
前言
看著園子里Silverlight越來越繁榮,甚是欣慰,因?yàn)榫驮谌ツ?,還仍然在為Silverlight技術(shù)感到孤單,如今有了這么多并肩作戰(zhàn)的兄弟們,除了欣慰也甚狂喜,對(duì)于Silverlight還是沒有看走眼啊?!?/P>
正文
游戲中血條的顯示非常普遍,直觀的看到人物生命狀態(tài),還有看其他人的生命狀態(tài),血條并非只應(yīng)用在界面當(dāng)中,玩家自身和怪物的生命值顯示也都會(huì)實(shí)時(shí)的出現(xiàn)在游戲場(chǎng)景當(dāng)中,好的血條效果可以為游戲增光不少,這次咱們就簡(jiǎn)單的制作幾個(gè)血條。
做法
血條的做法有多種,一般來說都是做成一個(gè)獨(dú)立的控件,這樣方便的放在任何地方,如果深入講起來,一般來說血條可能包含如下屬性:***值、當(dāng)前值、狀態(tài)等等,而我講講述最基本的做法,更多的擴(kuò)展應(yīng)用可以在在此基礎(chǔ)上修改獲得。
現(xiàn)在打開MainPage,在上面畫一個(gè)Rectange:
然后將其復(fù)制,并編組成Grid:
有兩個(gè)矩形分別在上下,我們用上面的矩形作為血條的填充物,而下面的做底面:
選擇最上層的填充為紅色,我們知道任何控件都是有寬高和顯示寬高,所以要將這兩個(gè)屬性用起來,就可以達(dá)到效果了。
但是我們要考慮邊距問題,所以將水平對(duì)齊為考左,如果血條是上下的可以設(shè)置對(duì)齊上下的范圍。
現(xiàn)在只需要控制最上面的矩形Width屬性就能產(chǎn)生增加或減少的血條效果,在后臺(tái)代碼控制或綁定屬性也可以,但是這是一個(gè)未知***數(shù)字的數(shù)值,所以我們需要父容器的ActualWidth屬性來獲取,具體算法并不難:Width = ActualWidth * percent;percent是血條計(jì)算出來的,如果將其設(shè)計(jì)成為獨(dú)立的控件時(shí)候,可以帶有MaxHP之類的屬性參與運(yùn)算得到百分比。
如果想要更多的有趣的效果,可以在其中填充圖片,下面是選定一個(gè)矩形時(shí)候的圖像畫筆的簡(jiǎn)單操作。
在最開始的圖片中,可以看到,我已經(jīng)準(zhǔn)備好了一些演示,因?yàn)闀r(shí)間倉促也就不做的那么精致,有好的UI設(shè)計(jì)師來幫忙,可以達(dá)到非常不錯(cuò)的界面體驗(yàn)。
有興趣的同學(xué)可以直接下載源代碼下載地址(http://kb.cnblogs.com/page/91556/)進(jìn)行研究,本身并不復(fù)雜,用Blend打開就可以預(yù)覽和修改,有舉一反三能力的能人,一定會(huì)想到血條和進(jìn)度條的形式很一致,因此只需要簡(jiǎn)單的修改就可以當(dāng)進(jìn)度條使用,但是需要注意前后臺(tái)的UI線程問題。
【編輯推薦】
- Microsoft .NET Remoting技術(shù)概述
- 詳解.Net Micro Framework平臺(tái)移植初步
- .NET Remoting編程簡(jiǎn)介
- 詳解.Net Micro Framework窗體控件