2013-01-23 5 views
0

메신저로 안드로이드 게임 만들기. 게임을 일시 중지하거나 일시 중지 메뉴를 표시하거나 (새 활동이나 대화 상자를 통해) 게임을 다시 시작해야합니다. 내가 홈 화면과 메뉴를 표시하고 운영하는 방법에 대한 혼란 메신저를 제외한 모든에 갈 때Android : 일시 중지 스레드/게임, 메뉴 표시, 게임/스레드 재개?

public void pause() { 
      isRunning = false; 
      while (true) { 
       try { 
        ourThread.join(); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 
       break; 
      } 
      ourThread = null; 
     } 

public void resume() { 
      isRunning = true; 
      ourThread = new Thread(this); 
      ourThread.start(); 
     } 

이 완벽하게 잘 작동이 내가 일시 중지 내 스레드를 다시 시작하고 방법이다.

답변

1

팝업 메뉴를 사용해 보셨습니까? pause()에서 showPopup()을 사용하여 무언가를 할 수 있습니다. 그런 다음 화면의 아무 곳이나 클릭하여 팝업을 닫거나 onMenuItemClick에서 이력서를 설정할 수 있습니다.

의미가 있습니까?

public void showPopup() { 
    // Anchor popoup with layout to "center" menu 
    RelativeLayout layout = (RelativeLayout) findViewById(R.id.menuLayout); 
    PopupMenu popup = new PopupMenu(this, layout); 
    popup.setOnMenuItemClickListener(this); 
    popup.getMenuInflater().inflate(R.layout.menu, popup.getMenu()); 
    popup.show(); 
} 

@Override 
public void onMenuItemClick(MenuItem item) { 
    dosomething(); 
      resume(); 

} 
+0

아 좋은 생각이 아쉽네. 감사! –

+0

현재 활동이 일시 중지 된 상태에서 새 활동을 시작하고 새 활동이 끝나면 현재 활동을 재개 할 수 있습니까? 그게 내가 대부분의 게임에서 사용되는 것과 같은 일시 중지 메뉴에 대한 의미. 오해에 대한 미안 –

+1

현재 활동이 배경으로 활동하는 동안 팝업 메뉴를 사용할 수 있습니다. 그런 다음 사용자가 옵션을 클릭하면 기본적으로 팝업이 닫히고 활동이 동시에 재개 될 수 있습니다. 그렇지 않으면 이전 활동에서 새 활동을 호출 할 때 "뒤로"버튼을 누르면 이전 활동으로 돌아가 onResume()을 호출합니다. 활동 라이프 사이클에 대한 자세한 내용은 여기를 참조하십시오. http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle – Amy

0

장치의 메뉴 버튼을 클릭하면 pause()가 호출됩니다.

+0

물론 게임 중에 일시 중지 메뉴가 나타나고 작동하는 방법은 분명합니다. 백그라운드에서 일시 중지 되었습니까? –

+0

안드로이드의 메뉴 버튼을 클릭하면 (안드로이드 장치는 하드웨어 메뉴 버튼, 보통 @ 왼쪽 하단 모서리가 있습니다) – pvn

+0

아니요, 오해했습니다. 내가 말한 것은 pause() 메서드가 호출 될 때 게임에서 사용되는 것과 같은 사용자 지정 일시 중지 메뉴를 만든 다음 구현하는 것이 었습니다. 또는 백그라운드에서 일시 중지 된 상태로 현재 활동을 유지하면서 새로운 활동을 호출하는 것으로 생각할 수 있습니다. –

관련 문제