[英]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.