我正在尝试制作一个包含2个类的迷你游戏:菜单和游戏。我试图通过单击菜单类中的按钮随机更改播放类中对象的图像。
所以,在菜单类中我添加一个按钮并添加输入监听器,以便在我点击
时playbutton.addListener(new InputListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
game.setScreen(new lessonclass (game));
lessonclass.currentlevel = MathUtils.random(2);
return true;
}
});
在play类中,我添加了静态int级别,一个对象
public grid ( Vector2 position, Vector2 size) {
texture0 = new Texture (Gdx.files.internal("zero.jpg"));
texture1 = new Texture (Gdx.files.internal("one.jpg"));
texture2 = new Texture (Gdx.files.internal("two.jpg"));
texture3 = new Texture (Gdx.files.internal("three.jpg"));
this.position = position;
this.size = size;
}
public void update(){
}
public void draw0(SpriteBatch batch) {
batch.draw(texture0, position.x, position.y, size.x, size.y);
}
public void draw1(SpriteBatch batch) {
batch.draw(texture1, position.x, position.y, size.x, size.y);
}
public void draw2(SpriteBatch batch) {
batch.draw(texture2, position.x, position.y, size.x, size.y);
}
if (TouchDown) {System.out.println ("" + level);}
当我运行程序时,级别值VARIES介于0和1之间,但对象始终绘制图像批处理。 如果我更改菜单类中的代码,以便它只带我上课和播放类,我将级别更改为
public static int level = MathUtils.random(1);
然后我的等级值变化,对象随机绘制批量图像或batch1图像。 但是,我想从菜单类中执行此操作。由于程序运行,我不能想到逻辑错误,我现在卡住了。为什么我不能通过单击菜单类中的按钮来更改对象图像?