我在libGdx中遇到背景问题。 我尝试用这个来解决我的问题:
“在你的create()方法中,创建一个引用你的image.png的新纹理,然后使用现有的SpriteBatch在render()循环中渲染它。立即在你的GL.clear()调用后,转到你的批处理.draw(backgroundTexture,0。0)并确保你的相机处于OrthographicProjection模式。“
我这样做:
public void render() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(image, 250, 200);
batch.draw(backGroundImage, 0, 0);
batch.end();
“image”是我的正常纹理(它是简单的图像),“backGround”是ofc。我的背景。
我的“backGround”应用于我的create()方法。我的相机在 camera = new OrthographicCamera();
。
这是我看到的:
...我需要10点声望来添加图像:< ...图像是短的并且切断左边和右边...
我做错了什么。在这个解决方案a link!和[熊猫] [1] Shinzul的参考风格链接说了一些关于循环in render(),也许这是我的问题,但我不知道如何解决这个问题。
请帮忙。
答案 0 :(得分:10)
我认为你应该首先绘制背景图片。
此外我认为你应该看一些教程,例如https://github.com/libgdx/libgdx/wiki/Spritebatch%2C-Textureregions%2C-and-Sprites。它解释了libgdx的相同基本概念。
答案 1 :(得分:5)
public static Texture backgroundTexture;
public static Sprite backgroundSprite;
private SpriteBatch spriteBatch;
private void loadTextures() {
backgroundTexture = new Texture("images/background.png");
backgroundSprite =new Sprite(backgroundTexture);
.
.
}
public void renderBackground() {
backgroundSprite.draw(spriteBatch);
}
public void render() {
spriteBatch.begin();
renderBackground(); //In first place!!!!
drawStuff();
drawMoreStuff();
drawMoreMoreStuff();
spriteBatch.end();
}
我找到this online resource并帮助我开始了libgdx的世界。 我希望我一直很有帮助。
答案 2 :(得分:0)
只需使用 Gdx 设置设备 hight 和宽度,就可以帮助我
func main() {
qnamecsv,_:=os.Open("top-1m.csv")
reader:=bufio.NewReader(qnamecsv)
for {
line,_,_:=reader.ReadLine()
fmt.Println("%s",line)
}
var nameserver string = "8.8.8.8"
var qname string = "hostname from qname csv"
答案 3 :(得分:0)
我不知道这是否是最好的方法,但这对我有用。
sprite.scale(2);
sprite.setCenter(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
您可以在(int)中更改比例,直到它覆盖整个屏幕。