WPF编游戏系列 之六 动画效果(1)
本篇主要针对界面进行动画效果处理。首先在打开或关闭界面时,使其产生动态效果而不是生硬的显示或消失(如下图)。其次在鼠标放到关闭窗口图标上时,使其出现闪动效果。下面将通过Storyboard和EventTrigger实现这些效果。
1. 先从简单的入手吧,为关闭图标增加闪动效果,首先要在ScrollViewer中添加一个关闭窗口图标。
... ... <ScrollViewer Name="queryScrollViewer" ScrollViewer.VerticalScrollBarVisibility="Visible"><StackPanel Orientation="Vertical"><!-- 关闭窗口图标,尺寸设为20x20 --><Image Source="image/close.png" Name="closeImage" Height="20" Width="20"Cursor="Hand" Margin="5" HorizontalAlignment="Right"><Image.ToolTip>Close</Image.ToolTip></Image><Grid Name="queryGrid"></Grid></StackPanel> </ScrollViewer> ... ...
2. 在Window.Resources中添加一个闪动效果,这个DoubleAnimation针对closeImage的Width进行缩小操作,并处于循环重复状态。这样可以保证鼠标在其上时,它总是闪动状态。
<Window.Resources><Storyboard x:Key="flashCloseImage"><DoubleAnimation Storyboard.TargetName="closeImage" Storyboard.TargetProperty="Width"To="15" Duration="0:0:0.8" RepeatBehavior="Forever"></DoubleAnimation></Storyboard>... ... </Window.Resources>
3. 效果添加好了,然后就要增加能使其能动起来的事件(EventTrigger),一个是鼠标放上(MouseEnter)开始闪动,另一个是鼠标离开(MouseLeave)停止。另外,由于这个图标也控制着窗口关闭效果,所以再为它加一个点击(MouseLeftButtonDown)事件(该事件效果后面会继续讲到)。
<Window.Triggers><!-- 开始闪动,而且要调用Window.Resources中的x:Key=”flashCloseImage” --><EventTrigger SourceName="closeImage" RoutedEvent="Image.MouseEnter"><BeginStoryboard Name="closeImageBeginStoryboard" Storyboard="{StaticResource flashCloseImage}"> </BeginStoryboard></EventTrigger><!-- 停止闪动,它的对象就是上面的closeImageBeginStoryboard --><EventTrigger SourceName="closeImage" RoutedEvent="Image.MouseLeave"><StopStoryboard BeginStoryboardName="closeImageBeginStoryboard"> </StopStoryboard></EventTrigger><!-- 关闭窗口事件,稍后会讲 --><EventTrigger SourceName="closeImage" RoutedEvent="Image.MouseLeftButtonDown"><BeginStoryboard Name="closeQueryCanvasStoryboard" Storyboard="{StaticResource closeQueryCanvas}"> </BeginStoryboard></EventTrigger>... ... </Window.Triggers>
4. 所有动画效果和事件都添加好了,可以看看效果:
待续 … …
本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2009/12/12/wpf-xmarket-game-part6.html,如需转载请自行联系原作者
WPF编游戏系列 之六 动画效果(1)相关推荐
- WPF编游戏系列 之四 用户控件
在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2.2中使用的C#代码过多,其实我在写这些代码时也有同感, ...
- ui动效 unity_Unity中实现仿主机游戏的UI动画效果
在UI动画上花费精力,最早是日本的游戏喜欢搞,欧美的游戏都非常不重视(比如暗黑2),其实我也不懂为何日本游戏这么重视这种东西,因为早期做这种东西还挺麻烦的,大概是他们对于小而美的追求吧--总之,后来的 ...
- WPF实现聚光灯照亮文字动画效果
实现效果如下: 思路: 在Canvas里同一位置放置两个TextBlock,对上层字体设置路径动画,并设置其Clip为EllipseGeometry. 步骤: 1.窗体xaml <Window ...
- WPF实现字体霓虹灯渐变动画效果
实现效果如下: 思路:采用LinearGradientBrush线性渐变色刷来实现 源码: <TextBlock Text="LinearGradientBrush" Hor ...
- wpf仿苹果桌面图标动画效果
开局一张图后面全靠编. 源码下载地址:https://download.csdn.net/download/musx01230/10912990
- 【Android的从零单排开发日记】之入门篇(十六)——Android的动画效果
什么是动画,动画的本质是通过连续不断地显示若干图像来产生"动"起来的效果.比如说一个移动的动画,就是在一定的时间段内,以恰当的速率(起码要12帧/秒以上,才会让人产生动起来的错觉) ...
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):目录
本系列教程的示例代码下载(感谢 银光中国 提供资源分流): 第一部分源码:WPFGameTutorial_PartI(1-20节) 第二部分源码:WPFGameTutorial_PartII(21-2 ...
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②
第二种方法,CompositionTarget动画,官方描述为:CompositionTarget对象可以根据每个帧回调来创建自定义动画.其实直接点,CompositionTarget创建的动画是基于 ...
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(一)让物体动起来①
序:自从QXGame(WPF GAME ENGINE)游戏引擎公布以来,受到很多朋友的热切关注,于是乎有了写教程的想法.那么从今天开始,我将带领大家一步一步的学会如何使用纯C#开发WPF/Silver ...
最新文章
- 关于MATLAB处理大数据坐标文件2017529
- 什么心态阻碍了你职业的发展
- python 查找指定字符在字符串中的次数(全)
- 第二百一十七节,jQuery EasyUI,NumberSpinner(数字微调)组件
- 【渝粤教育】广东开放大学 刑法 形成性考核 (42)
- 将试用版visual studio 2008升级为正式版 --更新
- TensorFlow打印一个tensor值报错
- 安装mongodb时为什么一直卡着不动
- 删除下拉框只找23火星软件_下拉推广选择23火星软件
- 三维点云学习(3)1-聚类数学理论
- eclipse+Maven安装和配置
- java仿win7计算器布局
- MFC Windows 程序设计[五]之绘制表格Accel
- 马哥 python培训
- 组合导航:中海达iNAV2产品描述及接口描述
- [CAN] CAN BUS的错误检测和错误状态管理
- qt web混合编程_Qt+VS混合编程教程
- 【将列表中的每个数据转换成倒数 np.reciprocal()】
- Ubuntu跳过开机自检
- C语言程序设计精髓(MOOC第12周 )题