繁体   English   中英

我正在使用 Libgdx 构建一个手机游戏。 有人可以告诉我如何将屏幕设置为一种尺寸吗?

[英]I am using Libgdx to build a mobile game. Can someone please show me how set the screen to one size?

包 com.test.game;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.Camera;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;


public class Splash implements Screen {

    private Sprite splash;
    private SpriteBatch batch;
    private float height = 1920;
    private float width = 1080;
    private float aspectratio = width/height;



    @Override
    public void render(float delta){


        Gdx.gl.glClearColor(0,0,0,1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        batch.begin();
        splash.draw(batch);
        batch.end();

    }

    @Override
    public void resize(int width, int height){

    }

    @Override
    public void show(){
        batch = new SpriteBatch();
        Texture splashTexture = new Texture("zeuswallpaperphone1.jpg");
        splash = new Sprite(splashTexture);
        //splash.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        splash.rotate(90);
        splash.setPosition(Gdx.graphics.getWidth()/2 - splashTexture.getWidth()/2, Gdx.graphics.getHeight()/2 - splashTexture.getHeight()/2);

    }

    @Override
    public void hide(){

    }

    @Override
    public void pause(){

    }

    @Override
    public void resume(){

    }

    @Override
    public void dispose(){

    }

}

这是我的游戏的启动画面。 我正在尝试获取初始屏幕图像以针对不同的屏幕尺寸进行调整。 有没有办法将屏幕设置为一种尺寸? 我想将屏幕设置为 1280 x 720 的大小。这也会使触摸输入保持不变吗? 我不明白为什么这在 android 中如此困难。 我已经在互联网上大力搜索,试图找到解决方案。 如果这个问题已经在另一篇文章中回答了,我也很抱歉。 似乎这个问题的大多数答案真的很旧。 我一直无法找到我遇到的问题的答案。 我正在寻找任何帮助,所以请有人帮助我。 我尝试了各种方法,但似乎没有任何效果。 预先感谢您的帮助。 我讨厌堆栈溢出使您键入一定数量的内容。 那里有一些 libgdx 教程。 因此,如果有人可以观看一个并回复我,那就太好了。 我尝试过使用视口和正交相机,但是当我运行游戏时它不会调整。 在 iOS 上,您只需设置屏幕尺寸,即可在所有设备上运行。 他们在android studio中需要它。 似乎没有任何工作。 这是我的代码。 谢谢你的帮助。 这太疯狂了,他们还想让我打更多字。

我认为您需要使用相机和视口:

OrthographicCamera hudCamera = new OrthographicCamera();
Viewport hudViewport = new ScreenViewport(hudCamera);

public void create {
    // Your code
    hudViewport.apply(true);
}

 public void render(float delta){
    Gdx.gl.glClearColor(0,0,0,1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.setProjectionMatrix(hudCamera.combined);
    batch.begin();
    splash.draw(batch);
    batch.end();
}

public void resize(int width, int height) {
    hudViewport.update(width, height);
    hudViewport.apply(true);
}

确保您在主要方法中设置了正确的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM