掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
前言

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)東至免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
看著園子里Silverlight越來越繁榮,甚是欣慰,因為就在去年,還仍然在為Silverlight技術(shù)感到孤單,如今有了這么多并肩作戰(zhàn)的兄弟們,除了欣慰也甚狂喜,對于Silverlight還是沒有看走眼啊?!?/p>
正文
游戲中血條的顯示非常普遍,直觀的看到人物生命狀態(tài),還有看其他人的生命狀態(tài),血條并非只應(yīng)用在界面當(dāng)中,玩家自身和怪物的生命值顯示也都會實時的出現(xiàn)在游戲場景當(dāng)中,好的血條效果可以為游戲增光不少,這次咱們就簡單的制作幾個血條。
做法
血條的做法有多種,一般來說都是做成一個獨立的控件,這樣方便的放在任何地方,如果深入講起來,一般來說血條可能包含如下屬性:***值、當(dāng)前值、狀態(tài)等等,而我講講述最基本的做法,更多的擴展應(yīng)用可以在在此基礎(chǔ)上修改獲得。
現(xiàn)在打開MainPage,在上面畫一個Rectange:
然后將其復(fù)制,并編組成Grid:
有兩個矩形分別在上下,我們用上面的矩形作為血條的填充物,而下面的做底面:
選擇最上層的填充為紅色,我們知道任何控件都是有寬高和顯示寬高,所以要將這兩個屬性用起來,就可以達到效果了。
但是我們要考慮邊距問題,所以將水平對齊為考左,如果血條是上下的可以設(shè)置對齊上下的范圍。
現(xiàn)在只需要控制最上面的矩形Width屬性就能產(chǎn)生增加或減少的血條效果,在后臺代碼控制或綁定屬性也可以,但是這是一個未知***數(shù)字的數(shù)值,所以我們需要父容器的ActualWidth屬性來獲取,具體算法并不難:Width = ActualWidth * percent;percent是血條計算出來的,如果將其設(shè)計成為獨立的控件時候,可以帶有MaxHP之類的屬性參與運算得到百分比。
如果想要更多的有趣的效果,可以在其中填充圖片,下面是選定一個矩形時候的圖像畫筆的簡單操作。
在最開始的圖片中,可以看到,我已經(jīng)準備好了一些演示,因為時間倉促也就不做的那么精致,有好的UI設(shè)計師來幫忙,可以達到非常不錯的界面體驗。
有興趣的同學(xué)可以直接下載源代碼下載地址(http://kb.cnblogs.com/page/91556/)進行研究,本身并不復(fù)雜,用Blend打開就可以預(yù)覽和修改,有舉一反三能力的能人,一定會想到血條和進度條的形式很一致,因此只需要簡單的修改就可以當(dāng)進度條使用,但是需要注意前后臺的UI線程問題。
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流