Полноэкранный режим в обработке - PullRequest
0 голосов
/ 04 марта 2019

Я делаю небольшую игру в обработке.Но я не знаю, как установить одинаковые координаты на каждом типе монитора, используя полноэкранный режим.Как и в большом мониторе, координаты отличаются от меньшего монитора.

Я пытался перевести центр в середину экрана!

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 марта 2019

Звучит так, как будто вы используете абсолютные координаты, например:

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

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

Этот код рисует большой круг в центре экрана.Проблема в том, что этот код вообще не учитывает размер окна.Поэтому, если вы сделаете его полноэкранным, круг будет иметь тот же размер и местоположение.

Вместо этого вы можете использовать переменные width и height, чтобы сделать масштаб вашего чертежа с окном:

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

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

Теперь чертеж будет масштабироваться в соответствии с размером окна.

Однако теперь у вас есть другая проблема: рисунок может растягиваться в зависимости от размера вашего монитора.Вам необходимо исправить соотношение сторон .Я бы порекомендовал Google, чтобы увидеть множество подходов, но для этого простого примера вы могли бы просто взять минимум width и height и использовать это:

void setup() {
  fullScreen();
}

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

Есть тоннадругих способов подойти к этому.Вы также можете использовать PGraphics, который всегда одинакового размера, а затем масштабировать его в зависимости от размера экрана.

Бесстыдная самореклама: здесь и здесь - учебные пособия по использованию переменных width и height для масштабирования чертежей.

...