libgdx的菜单配置,以及json文件的结构
Game->stage
stage之间的相互切换语句
((Game) (Gdx.app.getApplicationListener()))
.setScreen(new ScreenTwo());
对于菜单画面
private Skin skin; private Stage stage; private Table table; //用来装按钮,文字等组件 private Label heading; private TextureAtlas atlas; private TextButton buttonPlay, buttonExit;
heading = new Label("Hello Libgdx", skin);//skin是json文件,里面配置好了很多属性,只要写一个skin其他的都不用管
heading.setFontScale(3);
//给文字添加颜色变化的动作
heading.addAction(Actions.repeat(
20,
new SequenceAction(Actions.color(skin.getColor("blue"), 0.2f),
Actions.color(skin.getColor("green"), 0.2f), Actions
.color(skin.getColor("red"), 0.2f))));
//将table添加到stage用于显示
table.add(heading);
table.getCell(heading).spaceBottom(100);
table.row();
table.add(buttonExit);
table.getCell(buttonExit).spaceBottom(10);
table.row();
table.add(buttonPlay);
stage.addActor(table);
JSON配置文件
{ com.badlogic.gdx.graphics.Color:{ //完整的类名,后面要加冒号 white:{r:1, g:1, b:1, a:1 }, //rgba颜色 键值中间要用冒号 black:{r:0, g:0, b:0, a:1 }, red:{r:1, g:0, b:0, a:1 }, green:{r:0, g:1, b:0, a:1 }, blue:{r:0, g:0, b:1, a:1 } }, com.badlogic.gdx.graphics.g2d.BitmapFont:{ blackFont:{file:data/blackFont.fnt}, //读取字体文件前面要用file:后面的是文件的路径名 whiteFont:{file:data/white.fnt} }, //两个类之间要加逗号 com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle:{ default:{ down: buttonDo,//自动寻找 atlas中命名为buttonDo的配置文件 up: buttonUp, font: blackFont //寻找上面已经定义好的font } }, com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle:{ default:{ font: whiteFont, fontColor: white } } }