微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐