Я занимаюсь разработкой игры. Во время игры, если пользователь нажимает кнопку возврата устройства, мне нужно приостановить поток и отобразить окно с предупреждением, подтверждающее, действительно ли пользователь хочет выйти или нет. Если пользователь хочет выйтиэто просто выход из игры. Но проблема возникает, когда пользователь не хочет выходить. тогда я должен возобновить поток.но я не могу этого сделать .. ниже приведен мой фрагмент кода ..
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
MyGamePanel.thread.setRunning(false);
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Exit Alert");
alertDialog.setMessage("Do you really want to exit the Game?");
alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
return;
} });
alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
MyGamePanel.thread.resume();
MyGamePanel.thread.setRunning(true);
return;
}});
alertDialog.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
, а приведенный ниже - часть потока.
@Override
public void run() {
Canvas canvas;
Log.d(TAG, "Starting game loop");
while (running) {
canvas = null;
try {
canvas = this.surfaceHolder.lockCanvas();
synchronized (surfaceHolder) {
// update game state
this.gamePanel.update();
// render state to the screen
// draws the canvas on the panel
this.gamePanel.render(canvas);
}
} finally {
// in case of an exception the surface is not left in
// an inconsistent state
if (canvas != null) {
surfaceHolder.unlockCanvasAndPost(canvas);
}
} // end finally
}
}
update () и render - две функциинаписано в классе MyGamePanel.
Я пробовал много вещей, но ничего не работает .. Пожалуйста, помогите мне ...