【问题标题】:Cannot resolve constructor while set Animation设置动画时无法解析构造函数
【发布时间】:2017-07-30 16:42:49
【问题描述】:

这是课程中的代码,我正在使用 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();
    }

【问题讨论】:

    标签: animation libgdx sprite


    【解决方案1】:

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


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

    Animation<TextureRegion> boxAnim;
    

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 1970-01-01
      • 2019-04-07
      • 2018-08-06
      • 2015-05-05
      • 2017-02-28
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多