Форум программистов, компьютерный форум, киберфорум
Наши страницы

Поставить игру на паузу и продолжить с этого же места - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Красный R http://www.cyberforum.ru/android-dev/thread1508996.html
Приветствую. Подскажите, что нужно импортировать, что бы R в строке setContentView(R.layout.main); перестал краснеть? всю голову уже сломал.
Программирование Android Приложение выдаёт ошибку после removeAllViews() Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Приложение выдаёт ошибку и закрывается, после следующего отрывка кода: Button btn1 = new Button (this); RelativeLayout rl =... http://www.cyberforum.ru/android-dev/thread1508986.html
Программирование Android Как после удаления view компонентов (removeAllViews) вернуть их?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Допустим я удалил все view компоненты приложение через RelativeLayout.removeAllViews(); Но как мне вернуть их обратно? С теми же id...
Программирование Android Сетка элементов с размером по экрану
Мне нужно чтото типа GridView только без ручного setNumColumns(). Элементы помещенные внутрь должны занимать горизонтально весть экран не зависимо от ориентации и размера, а в случае если не...
Программирование Android Как восстановить историю сообщений в Jabbere? http://www.cyberforum.ru/android-dev/thread1508856.html
Как восстановить историю сообщений в Jabbere? Или может на сервере её как-нибудь можно посмотреть? Подробнее, если можно.
Программирование Android Подключение темы из Support Library Здравствуйте! Решил переделать дизайн своего приложение под material. С трудом подключил библиотеку(через project structure). После этого смог наследоваться от классов AppCompatActivity, но не могу... подробнее

Показать сообщение отдельно
EduardSakhnovic
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 69
08.08.2015, 18:29  [ТС]
I think I can use for it also onSaveInstanceState and onRestore.
It sounds be useful for my game

Добавлено через 1 час 49 минут
Цитата Сообщение от PaDyra Посмотреть сообщение
SharedPreferences
не знаю подойдет ли.У меня игра составлена из кучи классов,лежащих в разных пакетах.
Вся логика игры в классе ПакменГейм,и все кнопки в ГеймАктивити.
Как сохранить класс ПакменГейм состоящий из 2000 строчек я тут особо не знаю.

Добавлено через 5 часов 27 минут
Цитата Сообщение от EduardSakhnovic Посмотреть сообщение
SharedPreferences
я сейчас использовал SharedPreferences ,только одно не понятно
когда я нажимаю на Continue,я хочу,чтобы на игровом поле появлялось то кол-во точек,которое осталось после того как я вышел из активити.
может мне в классе в котором игра описана,еще какую нибудь вспомогательную функцию написать.
вот код

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
public  class GameActivity extends Activity implements OnClickListener{
 
    private PacmanGame game;
    private GameView gameView;
    private SharedPreferences sPref;
    final String SAVED_GAME="saved_game";
    private Pacman pacman;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        PacmanGame game = initGame();
        initGameView(game);
        initMainView();
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
    }
 
    @Override
    public void onResume() {
        super.onResume();
        game.resume();
    }
 
    @Override
    public void onPause() {
        game.pause();
        super.onPause();
    }
    @Override
    public void onDestroy(){
        saveGame();
        super.onDestroy();
 
 
    }
 
    private void initMainView() {
        setContentView(R.layout.activity_game);
 
        View newGameButton = findViewById(R.id.new_game_button);
        newGameButton.setOnClickListener(this);
        View continueButton = findViewById(R.id.continue_button);
        continueButton.setOnClickListener(this);
        View aboutButton=findViewById(R.id.about_button);
        aboutButton.setOnClickListener(this);
        View exitButton = findViewById(R.id.exit_button);
        exitButton.setOnClickListener(this);
 
    }
 
    private void initGameView(PacmanGame game) {
        gameView = new GameView(this);
        game.view = gameView;
        gameView.game = game;
    }
 
    private PacmanGame initGame() {
        game = new PacmanGame(this);
 
 
        game.init();
 
        return game;
    }
    private void transitionToGameView() {
        setContentView(gameView);
        gameView.setFocusable(true);
    }
    void saveGame(){
        sPref=getPreferences(MODE_PRIVATE);
        Editor ed=sPref.edit();
        System.out.println("Dots remaining >> "+game.getDotsRemaining());
        ed.putInt(SAVED_GAME,game.getDotsRemaining());
        ed.commit();
        Toast.makeText(this,"Game saved",Toast.LENGTH_SHORT).show();
    }
   void loadGame(){
      sPref=getPreferences(MODE_PRIVATE);
      int savedGame=sPref.getInt(SAVED_GAME,8);
      game.setDotsRemaining(savedGame);
      game.startNewGame();
    }
    @Override
    public void onClick(View v) {
        Intent intent;
        switch (v.getId()) {
            case R.id.new_game_button:
                transitionToGameView();
               game.startNewGame();
                break;
            case R.id.continue_button:
                transitionToGameView();
                loadGame();
                break;
            case R.id.about_button:
                intent=new Intent(this,AboutActivity.class);
                startActivityForResult(intent, RequestCode.REQUEST_CODE_ABOUT);
                break;
            case R.id.exit_button:
                finish();
                break;
        }
 
    }
 
 
}
Да.И если в меню нажимаю на кнопку финиш,выскакивает ошибка,так как сохранить игру я прописал в он дестрой,и эти кейсы хотят чтобы там тоже сoхранение игры было.Как убрать эту ошибку

Добавлено через 1 час 50 минут
Я сохранил текущее состояние игры при помощи SharedPreferences.Только,когда я ее начинаю заново,кол-во набранных очков онулируется.Что еще надо доделатть,чтобы при нажатии на продолжить,показывалось то кол-во очков,что было перед выходом из активити?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package es.eduards.pacman;
 
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.AudioManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.widget.Toast;
 
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
 
import es.eduards.pacman.pcmangame.Pacman;
import es.eduards.pacman.pcmangame.Score;
import es.eduards.pacman.util.RequestCode;
 
 
public  class GameActivity extends Activity implements OnClickListener{
 
    private PacmanGame game;
    private Score score;
    private GameView gameView;
    private SharedPreferences sPref;
    final String SAVED_GAME="saved_game";
    private Pacman pacman;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        PacmanGame game = initGame();
        initGameView(game);
        initMainView();
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
    }
 
    @Override
    public void onResume() {
        super.onResume();
        game.resume();
    }
 
    @Override
    public void onPause() {
        game.pause();
        super.onPause();
    }
    @Override
    public void onDestroy(){
       saveGame();
        super.onDestroy();
 
 
    }
 
    private void initMainView() {
        setContentView(R.layout.activity_game);
 
        View newGameButton = findViewById(R.id.new_game_button);
        newGameButton.setOnClickListener(this);
        View continueButton = findViewById(R.id.continue_button);
        continueButton.setOnClickListener(this);
        View aboutButton=findViewById(R.id.about_button);
        aboutButton.setOnClickListener(this);
        View exitButton = findViewById(R.id.exit_button);
        exitButton.setOnClickListener(this);
 
    }
 
    private void initGameView(PacmanGame game) {
        gameView = new GameView(this);
        game.view = gameView;
        gameView.game = game;
    }
 
    private PacmanGame initGame() {
        game = new PacmanGame(this);
 
 
        game.init();
 
        return game;
    }
    private void transitionToGameView() {
        setContentView(gameView);
        gameView.setFocusable(true);
    }
    void saveGame(){
        sPref=getPreferences(MODE_PRIVATE);
        Editor ed=sPref.edit();
        System.out.println("Score >> "+game.getScore());//for debug only
        ed.putLong(SAVED_GAME, game.getScore());
        ed.commit();
        Toast.makeText(this,"Game saved",Toast.LENGTH_SHORT).show();//for debug only
    }
   void loadGame(){
      sPref=getPreferences(MODE_PRIVATE);
      long savedScore=sPref.getLong(SAVED_GAME, 8);
      game.setScore(savedScore);
 
       System.out.println("Score saved >> "+game.getScore());//for debug only
       Toast.makeText(this,"Game loaded",Toast.LENGTH_SHORT).show();//for debug only
        game.startNewGame();
    }
    @Override
    public void onClick(View v) {
        Intent intent;
        switch (v.getId()) {
            case R.id.new_game_button:
                transitionToGameView();
                 game.startNewGame();
                break;
 
            case R.id.continue_button:
                transitionToGameView();
                loadGame();
                break;
            case R.id.about_button:
               intent=new Intent(this,AboutActivity.class);
                startActivityForResult(intent, RequestCode.REQUEST_CODE_ABOUT);
                break;
            case R.id.exit_button:
 
                finish();
                break;
        }
 
    }
 
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru