当前位置: 首页 > 知识库问答 >
问题:

libgdx最佳高度和宽度

谢海阳
2023-03-14

我的游戏使用什么高度和宽度有关系吗?在我的游戏中,我有几个多边形,它们都与我画过的图像相连,但当我有800x480的宽度和高度时,我必须把图像画得很小,这导致它们变得模糊。而且,我真的不明白这在不同尺寸的手机屏幕上是如何表现的…我所画的图像是被拉长了,还是它们仍然很小,即使是在大平板上?所以我的问题是,在一个libgdx游戏中,最优的宽度和高度是多少?

这是我代码的一部分,也许可以帮助您理解我的意思

    WIDTH = Gdx.graphics.getWidth();
    HEIGHT = Gdx.graphics.getHeight();

    camera = new OrthographicCamera();
    camera.setToOrtho(false, 800, 480 );
public class AnotherScreen implements Screen{

Polygon cloudPoly;
Texture cloud;

    @Override
public void render(float delta) {

    batch.setProjectionMatrix(camera.combined);

    batch.begin();
    renderBackground();
    batch.draw(cloud,cloudPoly.getX(),cloudPoly.getY());
    batch.end();

    }

    @Override
public void show() {
    cloud = new Texture(Gdx.files.internal("assets/textures/cloud.png"));
            cloudPoly = new Polygon();
    cloudPoly.setPosition(MathUtils.random(350,600),MathUtils.random(380,440));

    // theses vertices are just a little square atm
    float[] cloudVertices = new float[] {
            0,0,
            0,20,
            20,20,
            20,0
    };
    cloudPoly.setVertices(cloudVertices);
    }

很抱歉,如果我不清楚,我是一个新的程序员,我的英语可以更好,爱你多多和我在一起!

共有1个答案

沈弘盛
2023-03-14

我所画的图像是被拉长了,还是保持小,即使是在大的平板上?

libgdx最大的特性之一是它允许您完全按照自己的意愿来做事情。所以,这真的是你的选择。使用此片段

WIDTH = Gdx.graphics.getWidth();
HEIGHT = Gdx.graphics.getHeight();

camera = new OrthographicCamera();
camera.setToOrtho(false, WIDTH, HEIGHT);

在每一个不同的屏幕大小中都有不同的视区大小。这样你的图像就会很小。

WIDTH = 800;
HEIGHT = 480;

camera = new OrthographicCamera();
camera.setToOrtho(false, WIDTH, HEIGHT);
HEIGHT = 480;
WIDTH = (Gdx.graphics.getWidth()/Gdx.graphics.getHeight())*HEIGHT;

camera = new OrthographicCamera();
camera.setToOrtho(false, WIDTH, HEIGHT);

另一个肮脏的方法是只有一个大的设置,让图像缩小到较低的分辨率。看起来比反面好。但有些人认为这只是太脏了:P(不是我,所以我推荐)。

 类似资料:
  • 主要内容:1. width,2. height,3. max-width 和 max-height,4. min-width 和 min-heightCSS 尺寸属性指的就是元素的宽度和高度属性,虽然说非常简单,但却是必须掌握的技能。CSS 中提供了 width、height、max-width、min-width、max-height 和 min-height 等几个属性来设置元素的宽度和高度,这些元素使用起来非常简单,下面我们就来简单介绍一下。 1. width 通过 width 属性可以设

  • 问题内容: 我有这个设置: HTML : CSS : 通过此设置,它可以在iPhone上运行,但不能在浏览器中运行。 是因为我已经在meta中,也许已经在? 问题答案: 我发现最好的方法是为较旧的浏览器编写默认CSS,因为较旧的浏览器包括5.5、6、7和8。无法读取@media。当我使用@media时,我会这样使用: 但是,您可以使用@media进行任何操作,这只是为所有浏览器构建样式时最适合我的

  • 问题内容: 我有一个表,我想定义和属性。请参见下面的示例。 我现在的问题是浏览器无法使用它。如果我在它上定义它,将被忽略,如果我在一个元素内的一个元素中定义它,则内容具有正确的最小和最大宽度,但表的大小仍然相同。(所以有很多可用空间:/) 我该如何解决? 编辑:我只是注意到问题似乎仅在表处于全屏模式时才会发生。但是,元素的最大宽度不应大于! 例: 问题答案: 对于表单元格,应使用’width’属性

  • 文件:main。派克 文件:run_me.py 我试图从左下角到右上角画一条线。 我认为这可能是一个尺度问题(变量self.available\u width,self.available\u height)。 我做错了什么?

  • 前面我们提到HTML元素的尺寸(高或宽)是动态的,会随着内容调整。不过我们也可以为元素设定固定的尺寸大小。 blockquote{ width: 600px;} 上面的 blockquote 将始终保持600px的宽度,如果浏览器窗口小于600px,将显示一个水平滚动条。 因为我们只设置了宽度,那么这个 blockquote 的高度仍然是动态的,会自动调整来适应内容。 CSS 溢出(overflo

  • 组件的高度和宽度决定了其在屏幕上显示的尺寸。 指定宽高 最简单的给组件设定尺寸的方式就是在样式中指定固定的 width 和 height 。React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。 export default class HelloWorld extends Component { render() { return ( <