WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①

 2009-06-22 07:08:32 来源:WEB开发网   
核心提示: 我们可以很清晰的看到,在位图中12像素的字是不会显示成这样的;但是在WPF/Silverlight中,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①(5),它的效果看上去是带模糊,而我在QXControl:BorderT

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①

我们可以很清晰的看到,在位图中12像素的字是不会显示成这样的;但是在WPF/Silverlight中,它的效果看上去是带模糊。而我在QXControl:BorderText控件中添加了一个Stroke属性和一个StrokeThickness属性,它们分别用来设置文字的描边线颜色和描边线粗细。并且StrokeThickness是double型,这样我就可以以任意想要的粗细对文字描边进行设置了。在上文代码中,我将之设置为0.1,这样显示出来的效果如下图:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①

虽然还无法达到最好的效果,但比起普通无描边的文字来说会美化些。由于文字只有12像素大小,在它上面描边无法很清晰的显示。因为,为了让大家更好理解WPF/Silverlight中TextBlock和QXControl:BorderText文字效果区别,我分别在这两个控件中输入“深蓝色”3个字,48像素,其中QXControl:BorderText以黑色1.5像素描边(该控件默认字体为“微软雅黑”),得到以下效果比较图:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十四) 精灵控件横空出世!①

左边为<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代码中丰富精灵的内部了。在下一节中,我将就精灵控件后台代码及上一节中遗留的问题:在地图移动中,主角(精灵)与障碍物如何跟随移动进行讲解,敬请关注。

上一页  1 2 3 4 5 

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接