处理中的全屏模式

问题描述 投票:0回答:1

我在Processing中做了一个小游戏。但我不知道如何使用全屏设置每个显示器类型的坐标相同。就像在大显示器中一样,坐标与较小的显示器不同。

我试图将中心翻译到屏幕中间!

谁能帮我?

height width processing fullscreen
1个回答
1
投票

听起来你正在使用绝对坐标,如下所示:

void setup(){
  size(500, 500);
}

void draw(){
 ellipse(250, 250, 400, 400); 
}

此代码在屏幕中间绘制一个大圆圈。问题是,这段代码根本不考虑窗口的大小。因此,如果您将其设置为全屏,则圆圈保持相同的大小和位置。

相反,您可以使用widthheight变量来使用窗口缩放绘图:

void setup(){
  size(500, 500);
}

void draw(){
 ellipse(width / 2, height / 2, width * .8, height * .8); 
}

现在,绘图将根据窗口的大小进行缩放。

但是,现在您遇到了另一个问题:根据显示器的大小,绘图可能会延长。您需要修复宽高比。我建议谷歌搜索看到大量的方法,但对于这个简单的例子,你可以采取最小的widthheight并使用:

void setup() {
  fullScreen();
}

void draw() {
  float minDimension = min(width, height);
  ellipse(width / 2, height / 2, minDimension * .8, minDimension * .8);
}

还有很多其他方法可以解决这个问题。您还可以考虑使用始终大小相同的PGraphics,然后根据屏幕大小进行缩放。

无耻的自我推销:herehere是使用widthheight变量来扩展你的绘图的教程。

© www.soinside.com 2019 - 2024. All rights reserved.