0

拥有垂直滚动屏幕的最佳方式是什么?我的游戏将占用两个屏幕,用户应该能够通过简单的拖动或滑动动作在两个屏幕之间移动。背景没有平铺,精灵将被放置在其上。进行这种屏幕管理的最佳方式是什么?

4

2 回答 2

3

你在这里问了两个问题。其中第一个是如何响应触摸手势(如滑动)。此博客文章和相关示例是一个很好的起点

第二个是如何拥有两个屏幕。这也很简单。Matrix.CreateTranslate将平移矩阵 ( )传递给SpriteBatch.Begin。你想如何做到这一点取决于你。如果您希望两个屏幕都具有 (0,0) 位于屏幕的左上角,请为每个屏幕提供一个平移矩阵,并将一个向下平移到另一个显示器下方的高度。(当屏幕不在视野范围内时,您可以完全跳过绘制它。)

当用户滑动时,只需对翻译进行动画处理,使一个屏幕移出视图,而另一个屏幕移入视图。

于 2010-09-11T14:21:44.850 回答
0

这取决于您是否希望用户能够看到顶部屏幕的一半和底部屏幕的一半,或者只能看到顶部或底部。

您可以尝试将两个屏幕的内容放入ScrollViewer,并将 ScrollViewer.VerticalScrollbarVisibility 设置为 False;这将允许用户在“屏幕”之间轻松拖动/滑动。

就像是:

<ScrollViewer VerticalScrollBarVisibility="Hidden">
    <my:FirstScreen/>
    <my:SecondtScreen/>
</ScrollViewer>

要考虑的一件事是您是否要处理用户更改手机方向,或者是否将手机锁定为纵向/水平方向。我还相信最终会发布具有不同分辨率的手机,Windows Marketplace 中的任何应用程序都需要能够同时处理全分辨率和半分辨率。

于 2010-09-05T02:50:34.180 回答