拥有垂直滚动屏幕的最佳方式是什么?我的游戏将消耗两个屏幕高,用户应该能够通过简单的拖动或滑动动作在两个屏幕之间移动。背景不是平铺的,精灵将被放置在它上面。这种屏幕管理的最佳方式是什么?
答案 0 :(得分:3)
你在这里问过两个问题。其中的第一步是如何响应触摸手势(如滑动)。 This blog post and associated sample is a good starting point
第二个是如何拥有两个屏幕。这也很简单。将翻译矩阵(Matrix.CreateTranslate
)传递到SpriteBatch.Begin
。您希望如何做到这一点取决于您。如果您希望两个屏幕都有(0,0)位于屏幕的左上角,请为每个屏幕分配一个平移矩阵,然后将显示屏的高度向下翻译为另一个。 (当屏幕不在视野范围内时,您可以完全跳过它。)
当用户滑动时,只需为翻译设置动画,使一个屏幕移出视野,另一个移动到视图中。
答案 1 :(得分:0)
这取决于您是希望用户能够看到底部屏幕的一半还是一半,或者只能看到顶部或底部。
您可以尝试将两个屏幕内容放入ScrollViewer,并将ScrollViewer.VerticalScrollbarVisibility设置为False;这将允许用户在“屏幕”之间轻松拖动/滑动。
类似的东西:
<ScrollViewer VerticalScrollBarVisibility="Hidden">
<my:FirstScreen/>
<my:SecondtScreen/>
</ScrollViewer>
要考虑的一件事是,您是想要处理用户更改手机方向,还是将手机锁定为纵向/水平方向。我还相信具有不同分辨率的手机最终将会发布,Windows Marketplace中的任何应用程序都需要能够处理全分辨率和半分辨率。