LibGdx练习-像素鸟(三)
启动类
我们本次项目依然在电脑桌面进行展示,所以desktop包下DesktopLauncher启动项进行代码填写并配置启动。
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.width = (int) Res.FIX_WORLD_WIDTH;
config.height = (int) Res.FIX_WORLD_HEIGHT;
config.resizable = false;
new LwjglApplication(new MainGame(), config);
}
}
core包下的启动类命名为MainGame,继承Game类。
public class MainGame extends Game {
// 屏幕大小
private float worldWidth;
private float worldHeight;
// 加载界面
private LoadScreen loadScreen;
// 游戏界面
private GameScreen gameScreen;
// 音效播放实例
private SoundPlayer soundPlayer;
@Override
public void create () {
// 初始化资源管理器
AssetsUtil.init();
// 屏幕适配
worldWidth = Res.FIX_WORLD_WIDTH;
worldHeight = Gdx.graphics.getHeight() * worldWidth / Gdx.graphics.getWidth();
// 授予音效播放权限,正式使用需要获取设备权限并进行判定
soundPlayer = new SoundPlayer(true);
// 创建加载界面实例并设置为当前界面
loadScreen = new LoadScreen(this);
setScreen(loadScreen);
}
@Override
public void render () {
// 红色清屏
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
super.render();
}
@Override
public void dispose () {
super.dispose();
loadScreen.dispose();
gameScreen.dispose();
AssetsUtil.dispose();
}
public float getWorldWidth() {
return worldWidth;
}
public float getWorldHeight() {
return worldHeight;
}
public GameScreen getGameScreen() {
return gameScreen;
}
public SoundPlayer getSoundPlayer() {
return soundPlayer;
}
public void setGameScreen(GameScreen gameScreen) {
this.gameScreen = gameScreen;
}
}