我最近开始学习WP8.1,而我正在尝试使用动画。
我要做的是设置一个像书页一样的启动画面:从后面开始然后,当它覆盖整个屏幕并触摸它时,继续旋转就好像你正在翻书页一样。 动画的第一部分是好的,但我不知道为什么第二部分(第二个故事板)没有动画。稍等一下,矩形只取最后一个位置而不需要动画(这很丑!)。
这是我的故事板(注意到很复杂):
<Storyboard x:Name="EndgameSplashInStoryboard">
<!--<DoubleAnimation Duration="0:0:0.3" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="EndgameSplashGrid" d:IsOptimized="True"/>-->
<DoubleAnimation Duration="0:0:0.3" By="70" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="EndgameSplashGrid" d:IsOptimized="True"/>
</Storyboard>
<Storyboard x:Name="EndgameSplashOutStoryboard">
<!--<DoubleAnimation Duration="0:0:0.3" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="EndgameSplashGrid" d:IsOptimized="True"/>-->
<DoubleAnimation Duration="0:0:0.3" By="70" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="EndgameSplashGrid" d:IsOptimized="True"/>
</Storyboard>
我评论了不透明动画来简化我的动画。 以下是我想要制作动画的内容:
<Grid x:Name="EndgameSplashGrid">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.Projection>
<PlaneProjection x:Name="EndgameSplashProjection" RotationY="-70" CenterOfRotationX="0"/>
</Grid.Projection>
<Rectangle x:Name="EndgameSplashRectangle" Grid.RowSpan="2" Fill="{StaticResource PhoneAccentBrush}" Tapped="EndgameSplashRectangle_Tapped"/>
<TextBlock x:Name="EndgameSplashText" Grid.Row="0" Text="victoire!" Style="{StaticResource EndgameSplashText}"/>
<TextBlock x:Name="EndgameSplashSubtext" Grid.Row="1" TextWrapping="Wrap" Style="{StaticResource EndgameSplashSubtext}"
Text="Félicitations, vous avez trouvé le nombre en 7 essais :-)"/>
</Grid>
如果有人能看出为什么会这样,那将会非常有帮助:) 谢谢,祝你有愉快的一天!
答案 0 :(得分:0)
所以我明白动画的第一部分会播放,但第二部分没有?
如果将它们放在一个故事板中,并在第二个故事板中设置BeginTime="0:0:0.3"
怎么办?
编辑:哦,我只是看,它是完全相同的动画,你想要它播放两次?然后,您只需添加属性RepeatBehavior="2x"
。
如果您想在同一媒体资源上一个接一个地使用两个不同的动画,则可以使用DoubleAnimationUsingKeyFrames
。