3
我創建的WPF和C#.NET輪盤遊戲在某一特定數量的停止一球。我成功旋轉了車輪,但我堅持要在球停止時獲得具體的價值。如何在輪盤
任何人可以幫助我這是什麼邏輯,我可以申請得到的任何
我使用Expression Blend中(下面的代碼)我怎樣才能在球停止值創建動畫的基本價值。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="demo.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">
<Window.Resources>
<Storyboard x:Key="spinWheel">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="canvas">
<EasingDoubleKeyFrame KeyTime="0" Value="-0.056"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="-89.871"/>
<EasingDoubleKeyFrame KeyTime="0:0:2" Value="-179.468"/>
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="-269.405"/>
<EasingDoubleKeyFrame KeyTime="0:0:4" Value="-360.488"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingPath Duration="0:0:3.96" Source="X" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="ellipse">
<DoubleAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M39.5,115 C39.5,218.55339 -44.446609,302.5 -148,302.5 C-251.55339,302.5 -335.5,218.55339 -335.5,115 C-335.5,11.446609 -251.55339,-72.5 -148,-72.5 C-44.446609,-72.5 39.5,11.446609 39.5,115 z"/>
</DoubleAnimationUsingPath.PathGeometry>
</DoubleAnimationUsingPath>
<DoubleAnimationUsingPath Duration="0:0:3.96" Source="Y" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="ellipse">
<DoubleAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M39.5,115 C39.5,218.55339 -44.446609,302.5 -148,302.5 C-251.55339,302.5 -335.5,218.55339 -335.5,115 C-335.5,11.446609 -251.55339,-72.5 -148,-72.5 C-44.446609,-72.5 39.5,11.446609 39.5,115 z"/>
</DoubleAnimationUsingPath.PathGeometry>
</DoubleAnimationUsingPath>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource spinWheel}"/>
</EventTrigger>
</Window.Triggers>
<Grid x:Name="LayoutRoot">
<Canvas x:Name="canvas" Margin="22,62,248,26" RenderTransformOrigin="0.5,0.5">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Canvas.RenderTransform>
<Ellipse x:Name="ellipse1" Fill="#FFF4F4F5" Stroke="Black" Height="354" Width="354"/>
<Path Data="M308,44 L308,394.5" Fill="#FFF4F4F5" Stretch="Fill" Stroke="Black" Width="1" Height="351.5" Canvas.Left="179" Canvas.Top="1"/>
<Path Data="M144,240 L495.5,240" Fill="#FFF4F4F5" Height="1" Stretch="Fill" Stroke="Black" Canvas.Left="1" Canvas.Top="176.5" Width="352.5"/>
<TextBlock x:Name="one" Height="88" TextWrapping="Wrap" Text="1" Width="72" FontSize="64" Canvas.Left="75" Canvas.Top="64.5"/>
<TextBlock x:Name="two" Height="88" TextWrapping="Wrap" Text="2" Width="72" FontSize="64" Canvas.Left="219" Canvas.Top="64.5"/>
<TextBlock x:Name="three" Height="88" TextWrapping="Wrap" Text="3" Width="72" FontSize="64" Canvas.Left="219" Canvas.Top="200.5"/>
<TextBlock x:Name="four" Height="88" TextWrapping="Wrap" Text="4" Width="72" FontSize="64" Canvas.Left="75" Canvas.Top="200.5"/>
</Canvas>
<Ellipse x:Name="ellipse" Fill="#FFFF2300" HorizontalAlignment="Right" Height="24" Margin="0,112,264,0" Stroke="Black" VerticalAlignment="Top" Width="24" RenderTransformOrigin="0.5,0.5">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
</Ellipse>
</Grid>
您是否考慮以其他方式進行操作?計算目標數量,然後照顧球在那裏的可視化。 – Morothar 2012-03-01 11:26:07
@Morothar,即使這不是答案本身,我會+1,如果它被張貼作爲一個答案(以及萎靡不振它;-) – 2012-03-01 11:30:53
@Morothar我曾想過這一點,但仍然有類似的問題,以如何在特定位置停止球 – avinnash2515 2012-03-01 11:42:11