上一篇文章我们为游戏添加了开始界面,本篇将增加一个结束界面,当玩家找到题板中13件物品后,游戏将会显示“You Win”的提示。

最终效果如下(要找全13件物品才能看到效果^_^):

Get Microsoft Silverlight

 

1. 按上一篇介绍的方式,我们先制作一个winCanvas Canvas 控件,在winCanvas 中添加“You Win!” TextBlock,将Canvas其拖入LayoutRoot 左边(上对齐):

wincanvas

3pic

2. 在States 中结束界面增加WinScreen,并开启录制将LeftTop 参数设置为“0”,停止录制:

winscreen

3. 在判断游戏是否结束时,需要对玩家找到的物品件数进行统计,到达13件时便可显示WinScreen,对此将要使用GlobalCounter 类进行计数操作,下载GlobalCounter.zip 在VS 中将其加入Interactivity\GlobalCounter 目录,并进行编译(F6):

addclass

编译后回到Blend,在Behaviors 中会出现IncrementGlobalCounterAction、SetGlobalCounterAction:

set2

set

 

4. 下面将开始使用GlobalCounter 类:

4.1. 在UserControl 中添加SetGlobalCounterAction:

usercontrol

参数设置如下:

setset

4.2. 在LayoutRoot 中添加GoToStateAction:

layout

将TrigerType 修改为GlobalCounterMinReachedTrigger,其他参数设置如下:

min

4.3. 在每个物品Path 中添加IncrementGlobalCounterAction:

path

参数设置如下:

increament

5. 最后,我们要在题板上显示出当前物品的数量,在MainPage 中加入itemRemainingCanvas 在该Canvas 中加入两个TextBlock:itemsRemainingLableTextBlockitemsRemainingTextBlock 分别显示标题与物品数量:

itemrem

itemlist

6. 在itemsRemainingTextBlock 中增加ShowGlobalCounterBehavior

showg

只需设置CounterKey 即可:

showg2

源代码下载: