2012-04-30 2 views
4

스테이지에 간단한 ImageButton을 배치하려고 시도 할 때 클릭 수가 감지되지 않았습니다.ImageButton이 클릭 수를 감지하지 못하는 것 같습니다 (Scene2d.ui)

ImageButton btnStart = new ImageButton(ButtonArt.UP, ButtonArt.DOWN)); 

// btnStart.setClickListener(new ClickListener() { 
//   @Override 
//   public void click(Actor a, float arg1, float arg2) { 
//    a.visible = false; 
//   } 
//  }); 

stage.addActor(btnStart); 

ButtonArt.UP 및 ButtonArt.DOWN은 각 상태의 TextureRegions입니다. 버튼을 클릭하면 상태가 변경되지 않습니다! 나는 또한 위의 ClickListener (테스트 용)를 시도했지만 작동하지 않는 것으로 보였다.

내 렌더링 메서드에서 나는 단지 stage.act() 및 stage.render()를 호출합니다. 또한 렌더링 메서드에서 SpriteBatch를 사용하여 TextureRegions를 그리려고했는데 실제로는 다른 텍스처입니다.

내가 잘못 했나요?

답변

8

당신은 당신의 inputprocessor로 무대를 설정해야합니다 : 여러 inputprocessors을해야하는 경우

Gdx.input.setInputProcessor(stage); 

(예를 들어, 당신은 당신의 장면 밖에 등록 클릭 필요), 당신이 좋아, InputMultiplexer를 사용해야합니다 이 :

InputMultiplexer plex = new InputMultiplexer(); 
plex.addProcessor(myOtherProcessor); 
plex.addProcessor(stage); 
Gdx.input.setInputProcessor(plex); 
+0

감사합니다. 나는 inputProcessor를 설정해야한다는 것을 몰랐습니다. – user717572

관련 문제