2015-12-26 4 views
0

Мне интересно, имеет ли LÖVE фреймворк ту же функцию, что и в видовом экране Libgdx, потому что эта функция была действительно великолепна, когда я использовал Libgdx, и мне интересно, есть ли что-то подобное в LÖVE.LÖVE viewport like Libgdx

О видовых: https://github.com/libgdx/libgdx/wiki/Viewports

+0

Почему бы вам не объяснить, что такое «видоискатель Libgdx» на самом деле? После этого, может быть, тогда мы сможем сказать, есть ли у Love2D это или нет. –

+0

Я добавил вики о видовых экранах. В принципе, это способ заставить все объекты иметь одинаковый масштаб в любом разрешении экрана. В libgdx вы определяете виртуальное измерение (ширина, высота), а затем вы можете изменить свой образ/sprite/etc его положение и размер относительно виртуального размера вашего экрана без масштабирования всех ваших объектов вручную. – Jazzguy

ответ

1

Если, видовом, вы имеете в виду, используя нормализованные координаты (разрешение-независим), то да, LÖVE может сделать это. Хотя он по умолчанию недоступен в самой структуре, всегда есть возможность добавить свои собственные функции.

Вы можете создать систему Viewport, используя LÖVE's canvases.

Начните с создания холста с фиксированными размерами, , затем сделайте игру, используя проценты этих размеров вместо обычного позиционирования пикселей.

Например, player.x = 80 (левая стороны экрана) становится player.x = canvas:getWidth()*.1

После того, как вы нарисовали все в ваше виртуальное окно -Вота холста это-, вы можете масштабировать его и сделать свою игру, чтобы соответствовать любому окну разрешающая способность.

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

+0

Интересно, я буду использовать эту библиотеку и посмотреть, работает ли она для меня. – Jazzguy

+0

Не работает, потому что покажите это: ошибка в строке 72 - попытка вызова метода «очистить» (значение nil) – Jazzguy

+1

Это не обновлено для LÖVE 0.10.0, тем временем вам придется использовать 0.9.2 I Исправьте это как можно скорее, это просто проблема замены canvas: clear() новым API love.graphics.clear(). – Ulydev