Android 게임에 일시 중지/다시 시작 지원을 추가하려고합니다. 사용자가 일시 중지 옵션을 누를 때 현재 스레드를 일시 중지하고 사용이 재개 옵션을 선택할 때 스레드를 다시 시작하려면 어떻게합니까? 모든 제안/아이디어는 큰 도움이 될 것입니다.Android 게임에서 일시 중지/다시 시작 지원 추가
1
A
답변
0
아마도 스레드가 GUI를 업데이트하고있는 것 같습니다. 부울을 사용하여 현재 상태가 일시 중지되었는지 여부를 나타낼 수 있습니다. 스레드 루프 내에서 현재 상태가 일시 중지되었는지 여부를 확인하기위한 조건을 추가 할 수 있습니다. 일시 중지 된 경우 계속을 사용하여 루프를 건너 뛸 수 있습니다. 그렇지 않으면 전체 코드를 실행하십시오.
3
ReplicaIsland의 출처 나 LunarLander 예제의 샘플 코드를 살펴보십시오. 이 두 가지는 출발점에 대한 대중적인 예입니다.
또한 스레드가 작동하는 방식과 실제로 스레드를 일시 중지하려는 경우를 이해해야합니다. 또 다른 방법은 단순히 스레드가 실행되는 동안 도면/업데이트를 일시 중지하는 것입니다. 이와 같은 일부 코드는 사용자가 원하는 것일 수 있습니다.
@Override
public void run()
{
while (mRun)
{
Canvas c = null;
try
{
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder)
{
if (mMode == STATE_RUNNING)
{
updatePhysics();
}
doDraw(c);
}
} finally {
// ...
}
}
}
LunarLander 예제에서 run() 함수의 수정 된 버전입니다.
mMode == STATE_RUNNING 인 경우 updatePhysics() 함수가 호출되는 위치가 가장 중요합니다. 단순히 mMode를 변경하면 물리가 업데이트를 중지하고 효과적으로 게임을 일시 중지합니다.
나는 이것이 @vivek이 묘사 한 것보다 더 많거나 적음이라고 생각한다.
관련 문제
- 1. 설정 화면에 대한 지원 추가 android
- 2. Android 게임에서 onTouchEvent에 발생하는 오류
- 3. 게임에서 singleTask 또는 singleInstance - Android
- 4. Spring MVC에 Ajax 지원 추가
- 5. Spring ScheduledTask - 시작/중지 지원?
- 6. 테스트 중 생성, 시작, 다시 시작, 일시 중지, 중지, android 활동을 파괴하는 방법
- 7. Android 게임 및 AdMob 시작
- 8. clang에서 추가 매크로 지원?
- 9. Android 에뮬레이터에서 블루투스 지원
- 10. Android 태블릿 아랍어 지원
- 11. Android 플래시 지원
- 12. Android muliple 화면 지원?
- 13. Android 앱 지원 옵션
- 14. android application 아랍어 지원
- 15. Android : AudioTrack 지원?
- 16. Android iFrame 브라우저 지원
- 17. Android 멀티 터치 지원
- 18. Android SSL - SNI 지원
- 19. Android 모바일 지원 아랍어.
- 20. Android SSL 지원
- 21. 내 플래시 게임에서 일시 정지를 구현할 수있는 방법을 알고 싶습니다.
- 22. 일시 중지/이력서가있는 Android 음성 녹음?
- 23. 사실 이후에 i18n 지원 추가
- 24. Android 이메일에서 맞춤 URL 지원
- 25. AsyncTasks를 일시 중지했다가 다시 시작 하시겠습니까? (안드로이드)
- 26. AVFoundation으로 비디오 녹화 일시 중지/다시 시작
- 27. Cocos2D Director 일시 중지/다시 시작 문제
- 28. 스레드를 일시 중지/다시 시작 AutoResetEvent
- 29. - 일시 중지/다시 시작 의미를 구현하는 방법?
- 30. jquery spritefy 일시 중지 및 다시 시작