我有一个带边框的画布
indexname=xw_qk&
search=IELEP0229%2FF%28F_ReqNum%29%2A2018%2FF%28F_YEAR%29
&page=0&pagenum=20sort=&&type=content
我已经在它上面实现了操作功能。然后我需要它总是像空中的东西一样掉下来。有什么简单的方法吗?
除此之外,我还想在触摸地面时处理动画:反弹,滚动......基于它的形状。我是否需要游戏引擎,框架或类似的东西?
答案 0 :(得分:2)
然后我需要它总是像空中的东西一样掉下来。
如果您只想要一个坠落效果,可以使用TranslateTransform
将元素设置为沿Y坐标设置动画。例如:
<StackPanel Margin="15">
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation
RepeatBehavior="Forever"
Storyboard.TargetName="myTranslateTransform"
Storyboard.TargetProperty="Y"
From="0"
To="360"
Duration="0:0:5" />
</Storyboard>
</StackPanel.Resources>
<Rectangle
Width="50"
Height="50"
Fill="RoyalBlue"
PointerPressed="StartAnimation">
<Rectangle.RenderTransform>
<TranslateTransform x:Name="myTranslateTransform" />
</Rectangle.RenderTransform>
</Rectangle>
</StackPanel>
private void StartAnimation(object sender, PointerRoutedEventArgs e)
{
myStoryboard.Begin();
}
有关转化的更多详情,请参阅this article。
除此之外,我还想在触摸地面时处理动画:反弹,滚动......基于它的形状。
对于跳出效果,您可以使用BounceEase
之一Easing functions。对于滚动,您可以使用RotateTransform
与TranslateTransform
结合使用。有关如何合并两个动画,请参阅this article。
总之,您可以在UWP动画库中找到许多想要的动画。请参考Animations overview。如果这不符合您的要求,您可以考虑使用Composition animations。对于样本,您可以参考WindowsUIDevLabs。
答案 1 :(得分:0)