簡體   English   中英

如何在LibGDX Scene2D中為CheckBox正確創建鼠標偵聽器?

[英]How to properly create a mouse Listener for CheckBox in LibGDX Scene2D?

我已經在網上搜索了幾個小時,並且是LibGDX游戲開發的新手。 該鏈接很有用,但是我仍然無法使CheckBox正常工作。 如何在LibGDX中正確實現CheckBox

我正在使用LibGDX,我必須在菜單中實現兩個單選按鈕。

我創建了兩個CheckBox並為其分配了樣式。

    check_style = new CheckBox.CheckBoxStyle();
    check_style.font = font;
    check_style.fontColor = new Color(Color.WHITE);
    check_style.checkboxOff = check_skin.getDrawable("checkbox");
    check_style.checkboxOn = check_skin.getDrawable("checkbox2");
    check_style.checked = check_skin.getDrawable("checkbox2");

我還添加了一個偵聽器來注意鼠標的點擊

    controls1Check.addListener(new InputListener() {
        public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
            controls1Check.toggle();
            System.out.println("toggle");
        }
        public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
           System.out.println("Controls1: " + controls1Check.isChecked());
           return true;
        };
    });

當我運行程序時,它不會響應任何鼠標單擊。 我該如何解決?

謝謝!

我猜您是將CheckBox添加到Stage嗎? 如果是這樣,我唯一的想法是也許您沒有調用Gdx.input.setInputProcessor(yourStage); 因此,即使您的CheckBoxes具有InputListeners,實際上也不在處理輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM