image - 在处理过程中调整任何屏幕尺寸的硬值

标签 image resize processing resolution screen-resolution

所以我正在和我的团队一起制作一个游戏来处理一个项目,我们都有不同的计算机。问题是我们在一台计算机上构建了游戏,但是此时我们已经意识到我们使用的 (1200,800) 大小在我们教授的计算机上不起作用。不幸的是,我们硬编码了数千个值来适应这个分辨率。有什么方法可以让它适用于所有计算机吗?

根据我自己的研究,我发现你可以使用 screen.widthscreen.height 来获取屏幕的大小,我将游戏窗口设置为大约屏幕尺寸的一半。然而,我加载的所有背景图像和其他内容都是 1200x800,所以我不确定如何修改我的所有图片(背景)和硬值。

是否有办法解决这个问题,而不必手动更改 1000 个硬值? (是的,我完全意识到我对数字进行硬编码有多糟糕)。

任何帮助将不胜感激。正如标题中提到的,语言正在处理。

最佳答案

因为我确信您已经吸取了有关硬编码数字的教训,所以我不会对此说什么:)

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

话虽如此,我不推荐它。在我看来,Processing 最好的事情之一就是不必直接与 AWT/Swing 发生冲突。这也是一个困惑的拼凑,“正确的做法”就是返回并将硬编码数字更改为变量。对于您的图像,您可以使用 PImage's resize() 。你说你的代码有几百行长,但实际上这并不是一个很大的量——最好的办法就是忍气吞声,不高兴几个小时。祝你好运!

关于image - 在处理过程中调整任何屏幕尺寸的硬值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031716/

相关文章:

Android setImageURI 内存不足错误

image - Magento - 如何检索捆绑的选项图像

javascript - 在 p5.js 中导出视频

python - 我可以从 Jupyter Notebook 运行Processing.org Python sketch 并传递数据吗?

javascript - 我可以通过 JavaScript 获取图像的文件大小和 mime 类型吗(仅限 FireFox/Gecko/Mozilla)

java - 在调整大小之前计算调整大小的图像(例如 JPEG)的文件大小

javascript - 在窗口调整大小时更新用js计算的div高度

ajax - AJAX 调用完成后,Div 高度不会调整大小

javascript - 使导航悬停下划线响应浏览器调整大小

android - 通过蓝牙将数据从 Arduino 发送到 Android 应用程序