在XNA和其他框架中,可以定义“2D世界”,我将使用该术语,因为它更容易理解。例如,Mario有两个方向可以去 - 左右;如果他向右移动,世界左右对他的更新,那么他可以走进“2D空间”或世界。我想在我的应用程序中使用该功能。我怎么能实现这一目标?对此有什么好的解决方案吗?
答案 0 :(得分:1)
您可以将ScrollViewer与隐藏栏一起使用:
<Window x:Class="Scrolls.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" PreviewKeyDown="Window_PreviewKeyDown">
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" x:Name="scroller">
<TextBlock Text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."/>
</ScrollViewer>
</Window>
代码背后的代码:
private void Window_PreviewKeyDown(object sender, KeyEventArgs e) {
if (e.Key == Key.Right)
scroller.ScrollToHorizontalOffset(scroller.HorizontalOffset + 1);
else if (e.Key == Key.Left)
scroller.ScrollToHorizontalOffset(scroller.HorizontalOffset - 1);
}
只是放置您的2D世界而不是<TextBlock .../>