首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibGdx背景不呈现

LibGdx背景不呈现
EN

Stack Overflow用户
提问于 2014-11-20 16:05:32
回答 2查看 608关注 0票数 0

我在我的LibGdx Java游戏中使用了多个屏幕,我在获得开始屏幕和死亡屏幕渲染背景时遇到了困难。背景在正确的地方,我已经检查过了。Main.java (游戏本身)工作,但没有其他。在“开始”和“死亡”屏幕上唯一工作的是输入,比如键盘输入。

代码: FishGame.java

代码语言:javascript
复制
package us.webco.fish;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class FishGame extends Game {
public SpriteBatch batch;

public void create() {
    batch = new SpriteBatch();
    this.setScreen(new StartScreen(this));
}

public void render() {
    super.render();
}

public void dispose() {
    batch.dispose();
}

}

StartScreen.java (切出的空函数)

代码语言:javascript
复制
package us.webco.fish;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;

public class StartScreen implements Screen{
private Texture backgroundImage;
private Sprite backgroundToSprite;
final FishGame game;

public StartScreen(final FishGame gam) {
    game = gam;
    backgroundImage = new Texture(Gdx.files.internal("../android/assets/startScreen.jpg"));
    backgroundToSprite = new Sprite(backgroundImage);
    backgroundToSprite.setSize(Main.width, Main.height);
}

@Override
public void render(float p) {
    p = 1/60f; /* FPS */
    Gdx.gl.glClearColor(0.4f,0.4f,0.7f,1.0f); /* Setting a default background color */
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); /* Rendering purposes */

    game.batch.begin();
        game.batch.draw(backgroundToSprite, Main.width, Main.height);
    game.batch.end();

    if(Gdx.input.isKeyPressed(Keys.X)) {
        System.out.println("Start Game");
        game.setScreen(new Main(game));
        dispose();
    }
    if(Gdx.input.isKeyPressed(Keys.Z)) {
        System.out.println("Game has been quit!");
        Gdx.app.exit();
    }

}

Main.java也使用game.batch。我不知道为什么它不工作,因为我遵循LibGdx教程,谢谢提前。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-20 17:15:14

尝尝这个

代码语言:javascript
复制
backgroundImage = new Texture(Gdx.files.internal("startScreen.jpg"));

编辑:spriteBatch.draw(.,plaction.x,plaction.y);

您使用的位置宽度和高度,没有超出屏幕。

票数 0
EN

Stack Overflow用户

发布于 2014-11-21 01:15:27

你把相机的位置调对了吗?

您是否更新相机并将投影矩阵设置为您的SpriteBatch?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27044112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档