科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件将GAPI游戏从纵向模式移植到方形屏幕(2)

将GAPI游戏从纵向模式移植到方形屏幕(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文描述了在将全屏游戏从纵向显示移植到方形屏幕显示时会遇到的常见问题和可能的解决方案。每种方案都需要进行权衡,其有效性也要依赖于游戏本身。

作者:Brian Cross 来源:51CTO.com 2007年9月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
输入没有被缩放

屏幕尺寸同样影响用户可以在屏幕上使用的空间。要确定缩放所有图形的同时,也考虑到用户的输入。如果没有对输入和图片使用同样的方法进行缩放,结果是输入的坐标没有和图片对齐或者甚至完全偏离。

例如,假设砖块游戏的图形被缩放,但是输入坐标没有被缩放。如果游戏试图处理 y>280 时对横条的定位,横条会无法在方形屏幕上移动,因为垂直分辨率是 240 像素。

同时为纵向模式和方形屏幕进行设计

您可以使用其它技术使游戏在纵向屏幕和方形屏幕都可以正常进行,技术成功的关键依赖于游戏本身。

位图缩放

您可以使用许多不同的方法进行缩放来得到同样的效果。最简单的情况下,您可以缩放每种物体以适应当前的屏幕。Tic-Tac-Toe download sample 示例根据屏幕尺寸缩放所有位图。在接近 tictactoe.h 的顶部位置,您能够看到:

#define DesignedWidth 240 #define DesignedHeight 240

你可以使用这些值(即游戏设计的屏幕尺寸)来根据设备屏幕尺寸缩放原始图形。在游戏载入位图时,ScalingImage类比较设备屏幕尺寸和开发人员设计游戏时使用的尺寸。如果设计分辨率和设备的实际分辨率匹配,就不需要缩放图形。

对于高精度的位图或者图片,缩放位图可能不是很好的方案,因为拉伸后的效果看起来不太好。这种情况下,您可以对于方形和纵向屏幕分别创建图片。

屏幕相对坐标

Tic-Tac-Toe 下载示例演示了如何在 TicTacToe::DrawBoard方法中使用屏幕相对坐标来绘制游戏棋盘。每一条直线在水平和垂直方向按 1/3 递增进行绘制,这样将屏幕按照 Tic-Tac-Toe 游戏的要求将屏幕分成了九格。使用屏幕相对坐标使得棋盘可以在任何分辨率下被绘制。

相对屏幕坐标也可以用于测试输入。使用和 Tic-Tac-Toe 棋盘一样的规则,可以精确的测试在游戏棋盘每一格的点击。

边框化 (Letterboxing)

如果在您垂直拉伸游戏后,游戏没有达到您想要的效果,您可以按比例将游戏按照方形屏幕的高度进行缩放并边框化。图 4 显示了砖块游戏进行边框化处理的外观。

4. 砖块游戏按照方形屏幕缩放并边框化

边框化的优点是在失去图形细节的时候可以表达同样的游戏进行方式。如果将游戏边框化,可以使用边界的额外空间来显示游戏信息,或者进行美化来利用空间的优点。如果游戏是边界滚动 (side-scrolling) 的游戏,可以选择如之前所述那样来缩放游戏,也可以使用边界的空间来加宽游戏玩家可以看见的区域。

平移 (Panning)

如果缩放或者边框化对您的游戏不合适,平移可能是个办法。平移方案会尽可能多的在屏幕上显示游戏,并且在游戏画面比屏幕大的时候使用某种机制移动视图。使用滚动条来阅读文档是平移的一个简单的例子。您可以在浏览器的窗口中只显示文档的一部分,但如果您想看得更多,就可以使用滚动条来显示更多的文字。您也可以使用笔针 (stylus)、设备上的按钮和许多其它机制让用户可以平移。

如果决定启用平移,就不用缩放图片,也不需要显示边框化方式增加的额外空间。但是,平移会影响游戏进行方式。如果游戏要求用户垂直滚动才能看见球在哪里,那么砖块游戏会非常困难。平移对回合制游戏很适用,因为用户在画面上四处查看需要的额外时间不影响游戏的进行。

为方形屏幕进行设计

既然您已经知道了 Windows Mobile Second Edition 或更高版本的软件支持方形屏幕,您就可以将游戏设计为默认在方形屏幕进行,当用户在纵向屏幕上进行游戏时,可以使用屏幕底部的额外空间显示对游戏不是至关紧要的信息,比如分数。图 5 显示了如何为砖块游戏使用屏幕底部的空间。

5. 左图显示了在方形屏幕中的砖块游戏;右图显示了在纵向屏幕的砖块游戏,它使用了额外的空间显示附加的游戏信息

您也可以将游戏画面移动到屏幕的底部,然后在屏幕顶部显示附加的游戏信息。您可以决定最适合游戏的设计方式。

小结

本文所涉及大多数问题的原因在于开发人员假定用户会在纵向屏幕下进行游戏。当开发人员抛弃关于屏幕尺寸的假设时,在纵向屏幕和方形屏幕下用户都可以进行游戏。有许多种技术可以让游戏在纵向屏幕和方形屏幕下都能很好地工作,不过最适用的技术在很大程度上依赖于游戏本身的特性。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章