Silverlight 解密游戏 之十五 地震

       在前面的文章中我们制作了粒子效果、暗示效果,如果玩家找不到物品在图片上疯狂点击时该怎么办呢?本篇将为游戏添加地震效果,当玩家在3秒内点击次数过多时就会使图片晃动以达到该效果。

在Office 图片中疯狂点击,看看会发生什么(好鼠标慎用^_^):

Get Microsoft Silverlight

 

1. 我们需要将地震效果将加载于Office 图片以及所有Path,新建StoryBoard,命名为ShakeStoryboard。开始录制,选择magnifierCanvas,在时间轴中依次增加4个Keyframe,分别将Left值设为0-10100

createsb

record

将ShakeStoryboard 的RepeatBehavior 设置为5x,可让其重复5次:

5x

StoryBoard 录制完成后,将会在XAML 生成如下代码:

<Storyboard x:Name="ShakeStoryboard" RepeatBehavior="5x">
   <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" 
Storyboard.TargetName="magnifierCanvas"
Storyboard.TargetProperty="(Canvas.Left)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-10"/> <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="10"/> <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard>

 

2. 当玩家在3秒间隔内连续点击10次就产生地震效果,首先在UserControl 中创建3个SetGlobalCounterAction1个ControlStoryboardAction

counter

第一个SetGlobalCounterAction,将CounterKey 设为TooManyClicks,CounterMaxValue设为10

1

将ControlStoryboardAction 的TriggerType设为GlobalCounterMaxReachedTrigger,当TooManyClicks 达到10次时启动ShakeStoryboard:

2

第二个SetGlobalCounterAction,当TooManyClicks 达到10次时,则将其重置为0:

3

最后一个SetGlobalCounterAction,将TriggerType 设为TimerTrigger,用来每3秒钟重置TooManyClicks:

4

 

3. 最后需要在Office 图片中加入IncrementGlobalCounterAction,用来为TooMangClicks 计数:

increment

EventName 设为MouseLeftButtonDown,InrementCounterValueBy 设为1

5

 

运行程序看看效果吧,源代码下载:

posted @ 2010-01-21 22:11  Gnie  阅读(3269)  评论(12编辑  收藏  举报
Copyright © 2010 Gnie