我正在尝试创建一个游戏,其中我有一个可滚动的地图,通过地图我的意思是一个gameMap,在一个滚动查看器中。但是当操纵scrollviewer中的元素时,我的平滑性存在问题。
因此我偶然发现了Viewbox和viewportcontrol。我试图阅读有关这些但没有找到任何真正描述的东西,甚至在msdn上都没有。
因此,我想知道是否有人有其他控件的经验,并且可以告诉我他们是否会聪明地用于基于地图的游戏,并且可能是关于这些用法的一些描述的链接?
答案 0 :(得分:0)
我正在使用Bing Map Task.It非常顺利。
这是Xaml Code。
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel x:Name="stkhead" Grid.Row="0">
<TextBlock Text="Bing Map and Location Service" HorizontalAlignment="Center"></TextBlock>
</StackPanel>
<StackPanel x:Name="stkInfo" Grid.Row="1">
<TextBlock x:Name="tblcurpos" Text="Current Position :-" Width="150" HorizontalAlignment="Left"/>
<TextBlock x:Name="tblcurpos1" Text="" Width="120" HorizontalAlignment="Center" Margin="0,-25,0,0"/>
</StackPanel>
<StackPanel x:Name="stkmap" Grid.Row="2">
</StackPanel>
<StackPanel x:Name="stksearch" Grid.Row="3">
<TextBlock x:Name="tblsearch" Text="Search"></TextBlock>
<TextBox x:Name="txtsearch" Width="380" Margin="0,-38,0,0" Text=""></TextBox>
<Button Name="btnsearch" Content="Search" Height="75" Width="195" Tap="btnsearch_Tap_1"></Button>
</StackPanel>
</Grid>
这是C#代码。
public MainPage()
{
InitializeComponent();
FindMe();
}
private void Bingtask()
{
BingMapsTask bingMap = new BingMapsTask();
bingMap.SearchTerm = txtsearch.Text;
bingMap.ZoomLevel = 10;
bingMap.Show();
}
private void FindMe()
{
tblcurpos1.Text = "Not Found";
}
private void btnsearch_Tap_1(object sender, System.Windows.Input.GestureEventArgs e)
{
Bingtask();
}
答案 1 :(得分:0)
我发现滚动查看器和视图框一起工作存在问题。或者至少我遇到了很大的问题。因此,Viewportcontrol是可行的方法,因为它包含了视口和滚动查看器。
最后,它是viewportcontroller,它是longlistselector的基础,这意味着viewportcontroller很有用,你只需要让它工作:)