以下是该类中的代码,我使用libgdx开发游戏但我不知道如何解决有关错误的问题 (无法在渲染中解析构造函数' Sprite(java.lang.Object)')。
public class GamePage implements Screen{
private static final float FRAME_DURATION = 1.0f / 15.0f;
private SpriteBatch batch;
private TextureAtlas boxAtlas;
private Animation boxAnim;
private float boxTime;
private Sprite spritebox;
@Override
public void show() {
boxAtlas = new TextureAtlas(Gdx.files.internal("ybanim.pack"));
boxAnim = new Animation(FRAME_DURATION, boxAtlas.getRegions(), Animation.PlayMode.NORMAL);
batch = new SpriteBatch();
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(1, 1, 1, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
boxTime += delta;
spritebox = new Sprite(boxanim.getKeyFrame(boxTime, true));
spritebox.setPosition(0,0);
batch.begin();
spritebox.draw(batch);
batch.end();
}
答案 0 :(得分:0)
boxanim.getKeyFrame(boxTime, true)
返回Object
,Sprite
类中没有可以Object
作为参数的构造函数。
从gdx版本1.9.5 Animation
类现在是通用的,同样有一个pull request。所以以这种方式声明你的动画:
Animation<TextureRegion> boxAnim;