|
游戲中血條的顯示非常普遍,直觀的看到人物生命狀態(tài),還有看其他人的生命狀態(tài),血條并非只應(yīng)用在界面當(dāng)中,玩家自身和怪物的生命值顯示也都會(huì)實(shí)時(shí)的出現(xiàn)在游戲場景當(dāng)中,好的血條效果可以為游戲增光不少,這次咱們就簡單的制作幾個(gè)血條。
看著園子里Silverlight越來越繁榮,甚是欣慰,因?yàn)榫驮谌ツ辏€仍然在為Silverlight技術(shù)感到孤單,如今有了這么多并肩作戰(zhàn)的兄弟們,除了欣慰也甚狂喜,對(duì)于Silverlight還是沒有看走眼啊。
血條的做法有多種,一般來說都是做成一個(gè)獨(dú)立的控件,這樣方便的放在任何地方,如果深入講起來,一般來說血條可能包含如下屬性:最大值、當(dāng)前值、狀態(tài)等等,而我講講述最基本的做法,更多的擴(kuò)展應(yīng)用可以在在此基礎(chǔ)上修改獲得。
現(xiàn)在打開MainPage,在上面畫一個(gè)Rectange:
有兩個(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í)候的圖像畫筆的簡單操作。
在最開始的圖片中,可以看到,我已經(jīng)準(zhǔn)備好了一些演示,因?yàn)闀r(shí)間倉促也就不做的那么精致,有好的UI設(shè)計(jì)師來幫忙,可以達(dá)到非常不錯(cuò)的界面體驗(yàn)。
有興趣的同學(xué)可以直接下載源代碼進(jìn)行研究,本身并不復(fù)雜,用Blend打開就可以預(yù)覽和修改,有舉一反三能力的能人,一定會(huì)想到血條和進(jìn)度條的形式很一致,因此只需要簡單的修改就可以當(dāng)進(jìn)度條使用,但是需要注意前后臺(tái)的UI線程問題。
本篇工程源代碼下載地址如下:點(diǎn)擊直接下載
NET技術(shù):Silverlight 游戲開發(fā)小技巧:血條和進(jìn)度條,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。