badlogic.BufferUtils 收到 java.lang.UnsatisfiedLinkError

Receiving java.lang.UnsatisfiedLinkError on badlogic.BufferUtils

当使用 DesktopLuncher 启动应用程序时,我在项目中的核心模块中的根 class(主要)上体验 UnsatisfiedLinkError

public class Main extends Game {

    @Override
    public void create() {
        this.cameraBuilder = ...
        setScreen(new LandingMenu(this));
    }
    
    @Override
    public void render() {
        super.render();
    }
    
    @Override
    public void dispose() {
        batch.dispose();
    }
    
    public World getWorld() {
        return world;
    }
    
    public SpriteBatch getBatch() {
        return batch;
    }
    
    public CameraBuilder<OrthographicCamera> getCameraBuilder() {
        return cameraBuilder;
    }
    
    private final SpriteBatch batch = new SpriteBatch();;
    
    private CameraBuilder<OrthographicCamera> cameraBuilder;
    
    private final World world = new World(new Vector2(0, -9.8f), true);
}

任何答案将不胜感激。

异常是一个原因,问题存在于 ApplicationListener 上的 create 方法上,在首次创建应用程序时调用,另一方面,SpriteBatch 是一个用于绘制 Sprites 的 Batch,更多具体来说,它处理在 OpenGL 中在四边形上绘制一堆纹理,因此必须在 create 方法内部初始化,而不是在根 class 级别。

    @Override
    public void create() {
        batch = new SpriteBatch();
        setScreen(new LandingMenu(this));
    }
    
    ...
    
    private SpriteBatch batch;

here 中查找更多信息。