Silverlight游戲開(kāi)發(fā)小技巧
前言
看著園子里Silverlight越來(lái)越繁榮,甚是欣慰,因?yàn)榫驮谌ツ辏€仍然在為Silverlight技術(shù)感到孤單,如今有了這么多并肩作戰(zhàn)的兄弟們,除了欣慰也甚狂喜,對(duì)于Silverlight還是沒(méi)有看走眼啊。
正文
游戲中血條的顯示非常普遍,直觀的看到人物生命狀態(tài),還有看其他人的生命狀態(tài),血條并非只應(yīng)用在界面當(dāng)中,玩家自身和怪物的生命值顯示也都會(huì)實(shí)時(shí)的出現(xiàn)在游戲場(chǎng)景當(dāng)中,好的血條效果可以為游戲增光不少,這次咱們就簡(jiǎn)單的制作幾個(gè)血條。

做法
血條的做法有多種,一般來(lái)說(shuō)都是做成一個(gè)獨(dú)立的控件,這樣方便的放在任何地方,如果深入講起來(lái),一般來(lái)說(shuō)血條可能包含如下屬性:***值、當(dāng)前值、狀態(tài)等等,而我講講述最基本的做法,更多的擴(kuò)展應(yīng)用可以在在此基礎(chǔ)上修改獲得。
現(xiàn)在打開(kāi)MainPage,在上面畫(huà)一個(gè)Rectange:

然后將其復(fù)制,并編組成Grid:

有兩個(gè)矩形分別在上下,我們用上面的矩形作為血條的填充物,而下面的做底面:

選擇最上層的填充為紅色,我們知道任何控件都是有寬高和顯示寬高,所以要將這兩個(gè)屬性用起來(lái),就可以達(dá)到效果了。

但是我們要考慮邊距問(wèn)題,所以將水平對(duì)齊為考左,如果血條是上下的可以設(shè)置對(duì)齊上下的范圍。

現(xiàn)在只需要控制最上面的矩形Width屬性就能產(chǎn)生增加或減少的血條效果,在后臺(tái)代碼控制或綁定屬性也可以,但是這是一個(gè)未知***數(shù)字的數(shù)值,所以我們需要父容器的ActualWidth屬性來(lái)獲取,具體算法并不難:Width = ActualWidth * percent;percent是血條計(jì)算出來(lái)的,如果將其設(shè)計(jì)成為獨(dú)立的控件時(shí)候,可以帶有MaxHP之類(lèi)的屬性參與運(yùn)算得到百分比。
如果想要更多的有趣的效果,可以在其中填充圖片,下面是選定一個(gè)矩形時(shí)候的圖像畫(huà)筆的簡(jiǎn)單操作。
在最開(kāi)始的圖片中,可以看到,我已經(jīng)準(zhǔn)備好了一些演示,因?yàn)闀r(shí)間倉(cāng)促也就不做的那么精致,有好的UI設(shè)計(jì)師來(lái)幫忙,可以達(dá)到非常不錯(cuò)的界面體驗(yàn)。
有興趣的同學(xué)可以直接下載源代碼下載地址(http://kb.cnblogs.com/page/91556/)進(jìn)行研究,本身并不復(fù)雜,用Blend打開(kāi)就可以預(yù)覽和修改,有舉一反三能力的能人,一定會(huì)想到血條和進(jìn)度條的形式很一致,因此只需要簡(jiǎn)單的修改就可以當(dāng)進(jìn)度條使用,但是需要注意前后臺(tái)的UI線程問(wèn)題。
【編輯推薦】
- Microsoft .NET Remoting技術(shù)概述
- 詳解.Net Micro Framework平臺(tái)移植初步
- .NET Remoting編程簡(jiǎn)介
- 詳解.Net Micro Framework窗體控件




















