Я пытаюсь правильно настроить мои Camera
и Sprite
s в libGDX, чтобы правильно отображаться в 2D системе координат с началом в нижнем левом углу.Координатная система libGDX
Я настроил свой Camera
так:
cameraWidth = Gdx.graphics.getWidth();
cameraHeight = Gdx.graphics.getHeight();
camera = new OrthographicCamera(1, cameraHeight/cameraWidth);
И я создал мои Sprite
S так:
sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
sprite.setScale(scale);
sprite.setPosition(startX,startY);
Моя проблема с sprite.setSize(x,y)
. Если я установил все спрайты размером (1, texture aspect ratio)
, тогда все будет рисоваться с правильной пропорцией отображения (не сжимается или растягивается), но ничто не рисует в нужном месте. Например, если я рисую что-то в (0,0), он будет рисовать с левым нижним углом слева от экрана и вверх по количеству пикселей.
Я заметил, изменив соотношение, которое я могу получить, чтобы рисовать в разных местах - а именно, если я установил его на (1, display aspect ratio)
, все выглядит довольно близко к рисунку в нужном месте - они просто рисуют из своего центра, а не их нижний левый угол, как указывает LibGDX. Единственная проблема заключается в том, что все изображения выглядят как размазанные или растянутые, что бесполезно.
Это похоже на простую проблему, и я просто хочу знать, как установить это, чтобы у меня была разумная система координат, которая рисует вещи в нужном месте и в правильном соотношении сторон. Благодарю.
Спасибо, хотя я работал с тем, что вы сказали уже, и это не сработало. – GraphicsMuncher