您好,我主要是从一个名为whiteBalloon的锯齿类中绘制“ whiteballoon”的。关键是,每当我调用此类的方法render()时,我都希望能够在屏幕上具有多个精灵,彼此之间是一个克隆。下面的代码给了我一个空异常。

这是我从主循环调用的类。

class whiteBalloon{
    Sprite whiteballoon;
    SpriteBatch batch;
    OrthographicCamera camera;

    public whiteBalloon(SpriteBatch batch){


    }
    public void create(){
        batch = new SpriteBatch();
        whiteballoon = new Sprite(new Texture("white_balloon.png"));
        whiteballoon.setPosition(0, 0);
        camera = new OrthographicCamera(Gdx.graphics.getWidth(),
                Gdx.graphics.getHeight());
    }

    public void render(){

        System.out.println("hey");

        batch.begin();
        whiteballoon.draw(batch);
        batch.end();



    }

}


然后我用

whiteBalloon grumpface;
        grumpface = new whiteBalloon();
        grumpface.render();

最佳答案

您需要在grumpface.create()之前调用grumpface.render()或仅将create()方法放入构造函数中:

public whiteBalloon(){
    create();
}


同样,您的构造函数需要一个SpriteBatch对象作为参数,但是您以后不会在代码中提供它,因此它使用默认(空)构造函数而不是您创建的构造函数。

10-08 03:25