设置动画时无法解析构造函数

时间:2017-07-30 16:42:50

标签: animation libgdx sprite

以下是该类中的代码,我使用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();
    }

1 个答案:

答案 0 :(得分:0)

boxanim.getKeyFrame(boxTime, true)返回ObjectSprite类中没有可以Object作为参数的构造函数。

从gdx版本1.9.5 Animation类现在是通用的,同样有一个pull request。所以以这种方式声明你的动画:

Animation<TextureRegion> boxAnim;