2014-07-26 6 views
0

맨 처음 게임을 코딩하고 있지만 메뉴 화면이 작동하지 않는 데 문제가 있습니다. 아래는 내 메뉴 코드입니다. exit 버튼을 테스트하려고 시도했지만 클릭 한 위치에 관계없이 프로그램이 종료되지 않습니다. 나는 또한 System.out.println(e.getX()+", "+e.getY());을 내 mousePressed() 행운과 함께 추가하려고 시도했다. 아무것도 출력하지 않습니다. 나는 완전히 잃어 버렸고 어떤 도움도 사용할 수있었습니다. 이것이 바보 같은 질문이라면 미안합니다. 저는 완전히 새로운 브랜드입니다! 감사!프로그램이 마우스 클릭을 감지하지 못합니다.

당신은 당신이 가지고있는 설정에서 작동하지 않습니다 libgdx 응용 프로그램에, AWT 의미하는의 MouseListener를 사용하고있는 것 같습니다
public class MenuScreen implements Screen { 
    MyGame game; 
    OrthographicCamera camera; 
    SpriteBatch batch; 

    public MenuScreen(MyGame game) { 
     this.game = game; 

     camera = new OrthographicCamera(); 
     camera.setToOrtho(false, 1080, 1920); 

     batch = new SpriteBatch(); 
    } 

    public class MouseInput implements MouseListener { 

     @Override 
     public void mouseClicked(MouseEvent arg0) {} 

     @Override 
     public void mouseEntered(MouseEvent arg0) {} 

     @Override 
     public void mouseExited(MouseEvent arg0) {} 

     @Override 
     public void mousePressed(MouseEvent e) { 

      int mx = e.getX(); 
      int my = e.getY(); 

      /** 
       batch.draw(Assets.sprite_startbutton, 165, 955); 
       batch.draw(Assets.sprite_tutorialbutton, 325, 790); 
       batch.draw(Assets.sprite_exitbutton, 365, 700); 
       batch.end(); 
      */ 
      //exit button 
      if (mx >= 365 && mx <= 600) { 
       if (my >= 700 && my <= 775) { 
        //Pressed exit button 
        System.exit(1); 
       } 
      } 
     } 

     @Override 
     public void mouseReleased(MouseEvent arg0) {} 
    } 

    public void render(float delta) { 
     Gdx.gl.glClearColor(1F, 1F, 1F, 1F); 
     Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

     camera.update(); 

     batch.setProjectionMatrix(camera.combined); 

     batch.begin(); 
      batch.draw(Assets.texture_background, 0, 0); 
      batch.draw(Assets.sprite_cat, 500, 1350, 750, 263); 
      //(500, 1350, 750, 263)[Cat on shelf] 
      //(95, 1600, 900, 316)[Cat starting position] 
      batch.draw(Assets.sprite_title, 50, 1600); 
      batch.draw(Assets.sprite_startbutton, 165, 955); 
      batch.draw(Assets.sprite_tutorialbutton, 325, 790); 
      batch.draw(Assets.sprite_exitbutton, 365, 700); 
     batch.end(); 
    } 
+0

당신이 당신의 구성 요소에의 MouseListener를 추가 했 :

또한이 튜토리얼에서 볼 수 있습니까? – camickr

+0

그는 libgdx를 사용하고있는 것 같습니다 (AWT에는 Screen 인터페이스가 없습니다) –

+0

죄송합니다. 그게 무슨 뜻 이니? import java.awt.event.MouseListener; 그것이 당신이 의미하는 바라면. – user3785016

답변