1
我不斷收到此錯誤:必須實現繼承的方法ApplicationListener.render()
「之類的MainMenu必須實現繼承的抽象方法ApplicationListener.render()」
我的代碼: 包融爲一體。 gdx.game.Screens;
import java.util.ArrayList;
import aurelienribon.tweenengine.BaseTween;
import aurelienribon.tweenengine.Tween;
import aurelienribon.tweenengine.TweenCallback;
import aurelienribon.tweenengine.TweenEquations;
import aurelienribon.tweenengine.TweenManager;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.Input.Keys;
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;
import com.gdx.game.Asteroid;
import com.gdx.game.TweenAccessors.SpriteTween;
public class MainMenu implements ApplicationListener, Screen
{
//private Boolean isMain = false; //Boolean to check if the menu screen can exit
private Texture menuTexture; //Splash screen image
private Sprite menuSprite; //Image manipulation
private SpriteBatch batch; //Container to bundle Sprites to speed up performance
private Asteroid game;
private TweenManager manager; //Updates all tweens at once
private TweenCallback callBack;
//SplashScreen constructor
public MainMenu(Asteroid game)
{
this.game = game;
}
@Override
public void render(float delta)
{
Gdx.gl.glClearColor(0,0,0,1); //Set color to black
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); //Clear the color
manager.update(delta);
//Begin drawing
batch.begin();
if((Gdx.input.isKeyPressed(Keys.ENTER)))
{
batch.dispose();
//game.setScreen(gameClass(game));
}
menuSprite.draw(batch);
//End drawing
batch.end();
}
我仍然可以運行我的代碼,但是當我嘗試,然後按回車它終止,我得到的錯誤:
Exception in thread "LWJGL Application" java.lang.IllegalArgumentException: buffer not allocated with newUnsafeByteBuffer or already disposed
at com.badlogic.gdx.utils.BufferUtils.disposeUnsafeByteBuffer(BufferUtils.java:277)
at com.badlogic.gdx.graphics.glutils.VertexArray.dispose(VertexArray.java:71)
at com.badlogic.gdx.graphics.Mesh.dispose(Mesh.java:415)
at com.badlogic.gdx.graphics.g2d.SpriteBatch.dispose(SpriteBatch.java:1094)
at com.gdx.game.Screens.MainMenu.render(MainMenu.java:50)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.gdx.game.Asteroid.render(Asteroid.java:24)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:202)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:131)
AL lib: ReleaseALC: 1 device not closed
什麼想法?
他沒有得到任何警告,因爲他也實現了屏幕:其中render方法確實有一個float作爲參數。 – Lestat