代码之家  ›  专栏  ›  技术社区  ›  sexp1stol

调整任何屏幕大小的处理硬值

  •  2
  • sexp1stol  · 技术社区  · 10 年前

    所以我正在和我的团队做一个关于项目处理的游戏,我们都有不同的电脑。问题是我们在一台计算机上构建了游戏,但此时我们已经意识到 (1200,800) 我们使用的尺寸在教授的电脑上不起作用。不幸的是,我们已经硬编码了数千个值以适应此决议。有什么办法使它适合所有计算机吗?

    根据我自己的研究,我发现你可以 screen.width screen.height 为了获得屏幕大小,我将游戏窗口设置为屏幕大小的一半左右。然而,我加载的所有背景图片都是1200x800,所以我不确定如何修改我的所有图片(背景)和硬值。

    是否有办法在不必手动更改1000的硬值的情况下解决此问题?(是的,我完全知道我硬编码的数字有多糟糕)。

    如有任何帮助,将不胜感激。如标题所述,语言正在处理。

    1 回复  |  直到 10 年前
        1
  •  2
  •   Community Egal    7 年前

    因为我相信你已经学到了关于硬编码数字的教训,所以我不会说什么:)

    您可能听说过在传统的javaJFrame或类似结构中嵌入处理PApplet。如果您可以缩放PApplet绘制的图像(即,它以您编码的分辨率绘制,然后将生成的图像放大或缩小以匹配屏幕),那么您可以将PApplet嵌入到一个帧中,捕获PApplet的输出到图像,缩放图像,然后将其绘制到屏幕上。一个快速的谷歌搜索结果 this SO question 。如果分辨率太大,可能会让你的游戏看起来很有趣,但这是一种快速而肮脏的方式。您可能希望按照建议在单独的线程中完成此操作 here .

    话虽如此,我并不建议这样做。处理过程中最好的一点(IMO)是不必直接使用AWT/Swing。这也是一个混乱的杂烩,“正确的做法”是返回并将硬编码的数字更改为变量。对于您的图像,您可以使用 PImage's resize() 。你说你的代码有几百行长,但实际上这并不是一个巨大的数字——最好的办法就是把它吸干,然后几小时不开心。祝你好运