我正在使用Libgdx构建一个手机游戏.有人能告诉我如何把屏幕设置成一个尺寸吗



包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教程。所以,如果有人能看一场并回复我,那就太好了。我试过玩Viewport和Orthographic相机,但当我运行游戏时,它不会调整。在iOS上,你只需设置屏幕大小,就可以在所有设备上使用。他们需要在安卓工作室。似乎什么都不起作用。这是我的密码。谢谢你的帮助。这太疯狂了,他们还想让我多打字。

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

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);
}

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

相关内容

最新更新