Java 我正在使用Libgdx构建一个手机游戏。有人能告诉我如何将屏幕设置为一个大小吗?
包com.test.gameJava 我正在使用Libgdx构建一个手机游戏。有人能告诉我如何将屏幕设置为一个大小吗?,java,android,libgdx,Java,Android,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.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);
}
确保您在主方法中设置了正确的大小。一位路人说:“我尝试了各种方法,但似乎没有任何效果。”,您可以列出您尝试过的方法,这可以让其他人知道这些方法没有用。“我讨厌堆栈溢出让你输入一定数量的内容。”,你说“一定数量”是什么意思?我觉得你需要了解“dip”的概念以及android如何处理不同的屏幕大小。很好的解释:,官方网站:只需将图像设置为特定数量的像素,就可以通过将宽度设置为
1280px
,但这并不是你想要的,因为在高密度的屏幕上,图像会很小,而在低密度的屏幕上,图像不会完全可见“所以,如果有人能看一个并给我回复,那就太好了。”你真的是在要求有人看教程视频,然后回来给你打笔记吗?哎呀,我打得太多了。哦,天哪,我只是需要帮助