私はscene2dに問題があります。私はprogramatically(jsonファイルなしで)TextButtonを作成し、何らかの理由で、isPressed()は私がそれを押しているときにtrueを返しません。それだけでなく、私はTextButtonStyleのdownFontColorを設定しますが、何もしません。これは初めてscene2dを使用しているので、まだ新しいです。私はアンドロイドでテストしています。TextButton isPressed()が動作しません
TextButtonを拡張するカスタムクラスを使用しますが、これは問題とは関係ありません。空のクラスです。 metsionではなく、テキストボタンでテストしました。相続人のクラス:私はステージを作成
のMainMenu、:
public MainMenu(Main main) {
this.main = main;
font_neutral = Tools.generateFont(Gdx.files.internal("Fonts/Android.ttf"), Color.WHITE, 150);
initViewport();
//Scene2D
GlyphLayout glyphLayout = new GlyphLayout(); //Used for getting width/height of textButton. Set text, then get width
TextButton.TextButtonStyle style = new TextButton.TextButtonStyle();
style.font = font_neutral;
style.fontColor = new Color(1, 1, 1, 1);
style.downFontColor = new Color(40, 130, 100, 1);
style.checkedFontColor = Color.BLUE;
CustomTextButton button_play = new CustomTextButton("Play", style);
glyphLayout.setText(style.font, "Play");
float x = camera.viewportWidth/3 - glyphLayout.width/2;
float y = camera.viewportHeight/2 - glyphLayout.height/2;
button_play.setPosition(x, y);
button_play.setTouchable(Touchable.enabled);
stage = new Stage(viewport);
stage.addActor(button_play);
}
@Override
public void show() {
}
public void update(float delta) {
stage.act(delta);
}
@Override
public void render(float delta) {
update(delta);
Gdx.gl.glClearColor(1, 1, 1, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glEnable(GL20.GL_BLEND);
stage.draw();
}
おかげで再び!
正確に '.isPressed()'を使用していますか?私はあなたのコードでそれが表示されません。 – AkashBhave