我在libgdx尝试制作动态壁纸的新手。 问题是在android中以不同的分辨率在所有屏幕尺寸中定位对象。 我使用正交相机和FillViewport使用视口https://github.com/libgdx/libgdx/wiki/Viewports支持多个屏幕。enter link description here
camera = new OrthographicCamera();
viewPort = new FillViewport(WORLD_WIDTH/1.1f,(WORLD_HEIGHT),camera);
viewPort.apply();
camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0);
,其中
WORLD_WIDTH=2048;
WORLD_HEIGHT = 1325;
我想将一个物体放在不同屏幕的同一位置,就像每个屏幕顶部的气球一样。为此,我尝试在给定的世界中找到高度的百分比,并且基于我在屏幕上发现的百分比,但是在屏幕中间的某个时间在屏幕中间的某个时间,在某些时间在顶部,某些时间在某些类型之外,它在不同的屏幕上显示出不同的位置。屏幕。 :-(虽然我试图将总是放在与WORLD高度相同的高度。我使用以下代码来计算
balloonHeight = (((Gdx.graphics.getHeight()*1.0f)/WORLD_HEIGHT)) *
(WORLD_HEIGHT-(ballonSprite.getHeight()*((Gdx.graphics.getHeight()*1.0f)/WORLD_HEIGHT)));
ballonSprite.setY(balloonHeight);
我将感谢你们所有人,让我知道问题并帮助我理解我犯的错误。