Java libgdx我的splashscreen未显示
我正在写一个libgdx游戏,但似乎我不能显示我的splashscreen,它只显示一个黑屏。有人知道这是怎么来的吗 我没有得到任何运行时错误,它只显示一个黑屏,即使我将glClearColor设置为其他颜色,然后设置为黑色Java libgdx我的splashscreen未显示,java,screen,libgdx,Java,Screen,Libgdx,我正在写一个libgdx游戏,但似乎我不能显示我的splashscreen,它只显示一个黑屏。有人知道这是怎么来的吗 我没有得到任何运行时错误,它只显示一个黑屏,即使我将glClearColor设置为其他颜色,然后设置为黑色 package mygame; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; import com.badlogic.gdx.graphics.GL10; import com.badlogi
package mygame;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class SplashScreen implements Screen {
Texture splashTexture;
Sprite splashSprite;
SpriteBatch batch;
MyGame game;
public SplashScreen(MyGame game) {
this.game = game;
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.begin();
splashSprite.draw(batch);
batch.end();
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
splashTexture = new Texture("mygame/splash.png");
splashTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
splashSprite = new Sprite(splashTexture);
//splashSprite.setColor(1, 1, 1, 0);
splashSprite.setX(Gdx.graphics.getWidth() / 2 - (splashSprite.getWidth() / 2));
splashSprite.setY(Gdx.graphics.getHeight() / 2 - (splashSprite.getHeight() / 2));
batch = new SpriteBatch();
}
@Override
public void hide() {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void dispose() {
}
}
我尝试了你的代码(见下文),它工作得很好,所以问题可能在于MyGame类。例如,您是否覆盖Game.render()而不调用super.render()
这就是我的游戏课的样子:
package mygame;
import com.badlogic.gdx.Game;
public class MyGame extends Game {
@Override
public void create() {
setScreen(new SplashScreen(this));
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void render() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
}
这就是您的游戏类的外观……您需要调用super函数
package com.sample;
import com.badlogic.gdx.Game;
public class Sample extends Game{
@Override
public void dispose() {
// TODO Auto-generated method stub
super.dispose();
}
@Override
public void pause() {
// TODO Auto-generated method stub
super.pause();
}
@Override
public void resume() {
// TODO Auto-generated method stub
super.resume();
}
@Override
public void render() {
// TODO Auto-generated method stub
super.render();
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
super.resize(width, height);
}
@Override
public void create() {
// TODO Auto-generated method stub
setScreen(new AnotherScreen(this));
}
}
package com.sample;
import com.badlogic.gdx.Game;
public class Sample extends Game{
@Override
public void dispose() {
// TODO Auto-generated method stub
super.dispose();
}
@Override
public void pause() {
// TODO Auto-generated method stub
super.pause();
}
@Override
public void resume() {
// TODO Auto-generated method stub
super.resume();
}
@Override
public void render() {
// TODO Auto-generated method stub
super.render();
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
super.resize(width, height);
}
@Override
public void create() {
// TODO Auto-generated method stub
setScreen(new AnotherScreen(this));
}
}