2015-03-31 130 views
0

我最近開始學習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

什麼觸發故事板?我看不到如何調用這些註釋。 – 2015-04-02 14:12:46

回答

0

所以我明白,動畫的第一個標準播放,但第二個不是? 如果你把它們放在一個故事板中,並在第二個集BeginTime="0:0:0.3"

編輯:哦,我剛剛看到,它是完全相同的動畫,你想要它播放兩次?然後,您可以添加屬性RepeatBehavior="2x"

如果您想在同一個屬性上依次選擇兩個不同的動畫,則可以使用DoubleAnimationUsingKeyFrames

+0

是的,第一個故事板可以很好地播放,而第二個只有不透明的動畫。 我試着將它們合併爲一個單獨的故事板,但是我有一個運行時錯誤,告訴我我無法對同一個屬性進行兩次動畫製作。 – Jeahel 2015-04-03 11:34:41

+0

@Jeahel:哦,我明白了。我編輯了我的答案,希望它有幫助。 – Robin 2015-04-03 18:49:37

+0

這不完全是。我應該更廣泛地解釋我想要的。我想要第一個動畫翻轉一個矩形,使其可見。然後,當它是可見的並且佔據整個屏幕時,我想要反轉第一個動畫以使其再次不可見,但只有當用戶觸摸矩形時。所以我幾乎想要相同的動畫,幾乎想在第一個之後立即啓動它:) – Jeahel 2015-04-07 07:32:18