跟老外学Silverlight游戏 之十五 地震

原创|其它|编辑:郝浩|2010-01-22 10:29:11.000|阅读 675 次

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

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

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

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

 

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP