【发布时间】:2015-06-30 03:27:41
【问题描述】:
我正在尝试一个拖放游戏,其中用户必须将 10 个编号的图像分类到 2 个网格中,一个奇数一个偶数。
我们可以进行拖放操作,但它会跳过 if 语句的第一部分并直接转到 else。 所以图像不会排序。有什么想法我可能会出错吗?
XAML
<Grid PointerMoved="ptr_moved" >
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="Assets/oddEveBck.png"/>
</Grid.Background>
<Image Tag="one" x:Name="one" HorizontalAlignment="Left" Height="179" Margin="-14,609,0,-20" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish1.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish1_pressed" PointerReleased="fish1_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="-15.903"/>
</Image.RenderTransform>
</Image>
<Image Tag="two" x:Name="two" HorizontalAlignment="Left" Height="179" Margin="254,522,0,0" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish2.png" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto" PointerPressed="fish2_pressed" PointerReleased="fish2_released">
<Image.RenderTransform>
<CompositeTransform Rotation="5.071"/>
</Image.RenderTransform>
</Image>
<Image Tag="three" x:Name="three" HorizontalAlignment="Left" Height="179" Margin="101,525,0,0" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish3.png" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto" PointerPressed="fish3_pressed" PointerReleased="fish3_released">
<Image.RenderTransform>
<CompositeTransform Rotation="28.652"/>
</Image.RenderTransform>
</Image>
<Image Tag="four" x:Name="four" HorizontalAlignment="Left" Height="179" Margin="508,635,0,-46" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish4.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish4_pressed" PointerReleased="fish4_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="-15.903"/>
</Image.RenderTransform>
</Image>
<Image Tag="five" x:Name="backBtn" HorizontalAlignment="Left" Height="134" Margin="10,10,0,0" VerticalAlignment="Top" Width="120" Source="ms-appx:///Assets/Back.png" Tapped="backBtn_Tapped"/>
<Image x:Name="five" HorizontalAlignment="Left" Height="179" Margin="180,623,0,-34" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish5.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish5_pressed" PointerReleased="fish5_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="1.614"/>
</Image.RenderTransform>
</Image>
<Image Tag="six" x:Name="six" HorizontalAlignment="Left" Height="179" Margin="456,537,0,0" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish6.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish6_pressed" PointerReleased="fish6_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="-15.903"/>
</Image.RenderTransform>
</Image>
<Image Tag="seven" x:Name="seven" HorizontalAlignment="Left" Height="179" Margin="586,549,0,0" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish7.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish7_pressed" PointerReleased="fish7_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="3.14"/>
</Image.RenderTransform>
</Image>
<Image Tag="eight" x:Name="eight" HorizontalAlignment="Left" Height="179" Margin="334,601,0,-12" VerticalAlignment="Top" Width="224" Source="Assets/OddEve/Fish8.png" RenderTransformOrigin="0.5,0.5" PointerPressed="fish8_pressed" PointerReleased="fish8_released" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Image.RenderTransform>
<CompositeTransform Rotation="-15.903"/>
</Image.RenderTransform>
</Image>
<Grid Tag="evenGrid" x:Name="evenGrid" HorizontalAlignment="Left" Height="199" Margin="943,497,0,0" VerticalAlignment="Top" Width="142" RenderTransformOrigin="0.492,0.503" />
<Grid Tag="oddGrid" x:Name="oddGrid" HorizontalAlignment="Left" Height="199" Margin="1090,497,0,0" VerticalAlignment="Top" Width="150"/>
</Grid>
XAML.CS
private void fish1_pressed(object sender, PointerRoutedEventArgs e)
{
holding = sender as Image;
imageOffset = e.GetCurrentPoint(holding).Position;
}
private async void fish1_released(object sender, PointerRoutedEventArgs e)
{
if (oddGrid == one.Tag)
{
holding = null;
one.Visibility = Visibility.Collapsed;
}
else
{
MessageDialog dialog = new MessageDialog("Not even try again!!");
await dialog.ShowAsync();
holding = null;
}
}
【问题讨论】:
标签: c# windows xaml visual-studio-2013 windows-store-apps