2010-12-18 6 views
0

XNAなどのフレームワークでは、「2Dワールド」を定義することは可能ですが、わかりやすいのでこの用語を使用します。たとえば、Marioには、左右に2つの方向があります。もし彼が右に動くと、右と左の世界が更新されるので、彼は「2D空間」または世界を歩くことができます。私は自分のアプリケーションでその機能を使いたいです。どうすればそれを達成できますか?これには良い解決策はありますか?WPFの2Dワールド

答えて

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); 
} 

だけ<TextBlock .../>

+0

ナイスアイデアの代わりにあなたの2Dの世界を入れて!タンク! –

+0

これは、あなたが私に尋ねると、Windows Phone 7のページレイアウトの本当に裸の実装です。ニース! :) – Machinarius

関連する問題