我們可以很清晰的看到,在位圖中12像素的字是不會顯示成這樣的;但是在WPF/Silverlight中,它的效果看上去是帶模糊。而我在QXControl:BorderText控件中添加了一個Stroke屬性和一個StrokeThickness屬性,它們分別用來設置文字的描邊線顏色和描邊線粗細。並且StrokeThickness是double型,這樣我就可以以任意想要的粗細對文字描邊進行設置了。在上文代碼中,我將之設置為0.1,這樣顯示出來的效果如下圖:
雖然還無法達到最好的效果,但比起普通無描邊的文字來說會美化些。由於文字只有12像素大小,在它上面描邊無法很清晰的顯示。因為,為了讓大家更好理解WPF/Silverlight中TextBlock和QXControl:BorderText文字效果區別,我分別在這兩個控件中輸入“深藍色”3個字,48像素,其中QXControl:BorderText以黑色1.5像素描邊(該控件默認字體為“微軟雅黑”),得到以下效果比較圖:
左邊為<TextBlock FontSize="48" FontFamily="微軟雅黑" Text="深藍色" Foreground="Pink" />創建的,
右邊為<QXControl:BorderText FontSize="48" Stroke="Black" StrokeThickness="1.5" Text="深藍色" Fill="Pink" />創建的,不用我說大家都會明白誰更幽雅漂亮了吧?更可貴的是,它提供了另一種WPF/Silverlight中關於中文字體模糊的解決方案。因此,在後面的游戲設計中,我將以QXControl:BorderText作為主要的文字控件使用。
呼呼,到此終於將我們可愛的精靈控件界面xaml代碼寫完,剩下的就是在Behind代碼中豐富精靈的內部了。在下一節中,我將就精靈控件後台代碼及上一節中遺留的問題:在地圖移動中,主角(精靈)與障礙物如何跟隨移動進行講解,敬請關注。