我正在开发一款安卓游戏。我希望用户能够通过拖动手指向左和向右“滚动”。直到现在,这一切都很完美。现在,我正在尝试使用一些按钮实现Gui。
它应该看起来像这样:
https://i.stack.imgur.com/jf0uZ.png
法典:
public class MainGameScreen implements Screen, InputProcessor {
Texture background, background_left, background_right;
public SpriteBatch batch;
//Graphical user interface
private Stage GUIStage;
private InputMultiplexer multiplexer;
//Camera
OrthographicCamera camera;
//Font
private BitmapFont font;
private String message = "Touch me";
//Buttons
private Stage button;
private Texture myTexture;
private TextureRegion myTextureRegion;
private TextureRegionDrawable myTexRegionDrawable;
private ImageButton imageButton;
public MainGameScreen (Trench_Warfare game) {
this.game = game;
batch = new SpriteBatch();
button = new Stage();
//GUI - Graphical user interface
GUIStage = new Stage(new ScreenViewport());
Image gui_background = new Image(new Texture("gui/GUI.png"));
gui_background.setPosition(0,0);
gui_background.setTouchable(Touchable.disabled);
GUIStage.addActor(gui_background);
//Buttons
myTexture = new Texture(Gdx.files.internal("gui/button/paper_riflemen.png"));
myTextureRegion = new TextureRegion(myTexture);
myTexRegionDrawable = new TextureRegionDrawable(myTextureRegion);
imageButton = new ImageButton(myTexRegionDrawable); //Set the button up
button = new Stage(new ScreenViewport()); //Set up a stage for the ui;
imageButton.isTouchable();
imageButton.setBounds(0,500,194,200);
button.addActor(imageButton); //Add the button to the stage to perform rendering and take input.
//Font
font = new BitmapFont();
font.setColor(Color.BLACK);
font.getData().scale(5);
}
});
}
相机运动发生在“”东西中。我不认为我必须在这里展示它。
我现在正试图实现按钮两天,但我无法让它们工作。问题就在底部:@Override touchDragged
InputMultiplexer multiplexer = new InputMultiplexer(this, button);
Gdx.input.setInputProcessor(multiplexer);
按照这个顺序,我可以移动相机,但我不能触摸按钮。如果我写,我不能再移动相机,但可以点击按钮。当我单击屏幕上的任意位置时,我还可以激活按钮的功能。
希望你能帮助我解决这个问题!(...)(button, this);
慕雪6442864
相关分类