Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
6 / 6 / 2
Регистрация: 18.04.2015
Сообщений: 260

Как сделать сохранение игры с скриншотами?

27.08.2016, 19:44. Показов 2887. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать сохранение игры с скриншотами(отдельными файлами) и при этом сохранить *целое состояние сцены, и как загрузить сохраненную игру?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2016, 19:44
Ответы с готовыми решениями:

Как сделать сохранение и загрузку игры
Как сделать сохранение и загрузку игры,предположим что у меня есть игра,я доиграл до середины и дальше хочу сохраниться,какое лучше всего...

Сделать сохранение всего процесса игры
Знакомство с сериализацией и десериализацией только начал. Все основные принципы понял. Но не могу ее явно применить там где мне нужно. А...

Как реализовать сохранение и загрузку на примере игры?
Доброго времени суток, пишу игру(курсач), сабж в том что никак не могу понять как сделать это, прошарил гугл, наткнулся на сериализацию, но...

19
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.08.2016, 11:41
Ручками сохранять состояние всех значимых объектов и так же их загружать. Готовой функции нет.
0
6 / 6 / 2
Регистрация: 18.04.2015
Сообщений: 260
28.08.2016, 21:16  [ТС]
не уже ли нельзя сохранить состояние сцены и запустить?

Добавлено через 1 час 14 минут
а как сохранить все состояние сцены https://tproger.ru/translation... -in-unity/ ?

Добавлено через 1 час 6 минут
как?

Добавлено через 4 часа 29 минут
Код: Game.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using UnityEngine;
using System.Collections;
 
[System.Serializable]
public class Game { 
 
    public static Game current;
    public Character knight;
    public Character rogue;
    public Character wizard;
 
    public Game () {
        knight = new Character();
        rogue = new Character();
        wizard = new Character();
    }
         
}
а как тогда узнать все объекты сцены?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 223
29.08.2016, 08:37
В этом курсе я узнал несколько способов: Saving and Loading Game Data in Unity3D

А именно такие способы:
  • PlayerPrefs
  • Textfile
  • Binary Serialization
  • XML Serialization
  • SQLite
0
6 / 6 / 2
Регистрация: 18.04.2015
Сообщений: 260
29.08.2016, 11:43  [ТС]
8Observer8, нет мне надо чтобы сохраняла в файлы.
https://tproger.ru/translation... -in-unity/
я вот незнаю как все объекты на сцене сохранить, как?
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
29.08.2016, 12:32
freelc2015, хранят не объекты, а их состояние...
0
6 / 6 / 2
Регистрация: 18.04.2015
Сообщений: 260
29.08.2016, 12:58  [ТС]
надо объекты и их настройки
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
29.08.2016, 13:25
https://m.habrahabr.ru/post/163071/
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 223
29.08.2016, 14:46
Цитата Сообщение от freelc2015 Посмотреть сообщение
нет мне надо чтобы сохраняла в файлы.
Там тоже сохраняют в файлы.
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
22.09.2016, 00:08
8Observer8, хочу спросить по поводу PlayerPrefs.
Использую данный способ сохранения в своем приложениии. Пишу под андроид. В итоге решил для теста остановить приложение в телефоне (принудительная остановка приложения), и всех данных уже не было. Хотя собрав проект под дектоп все сохранаяется.
Может данный метод сохранения данных (PlayerPrefs) так и должен работать на андроиде или нет?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 223
22.09.2016, 00:26
Я в PlayerPrefs только при изучении один раз сохранял и загружался. Использую только SQLite. Может кто-нибудь ещё ответит.
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.09.2016, 10:25
Цитата Сообщение от Nike Jagger Посмотреть сообщение
Может данный метод сохранения данных (PlayerPrefs) так и должен работать на андроиде или нет?
мне кажется, что тут не в методе сохранения дело, попробуйте под виндой/линухом через диспетчер задач "жахнуть" приложение, далеко не факт, что оно корректно отработает методы закрытия...
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
22.09.2016, 12:19
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
попробуйте под виндой/линухом через диспетчер задач "жахнуть" приложение
ну вот на винде остановил приложение через диспетчера задач, после перезапуска игры все сохранено. Вот и странно почему на винде все норм, а на андроид все сбивается
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.09.2016, 12:38
Цитата Сообщение от Nike Jagger Посмотреть сообщение
ну вот на винде остановил приложение через диспетчера задач, после перезапуска игры все сохранено. Вот и странно почему на винде все норм, а на андроид все сбивается
винда скорее всего все равно "корректно" завершила приложение, лупаните по питанию, что бы наверняка и посмотрим
в общем андроид не такой "добрый" как винда и не предлагает приложению попробовать завершиться в "штатном" решиме, если вы из диспетчера убиваете приложение в дроиде, то ему тупо перекрывают кислород и просто завершают, ну и как следствие, не отрабатывают деструкторы и т.п.
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
22.09.2016, 13:59
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
лупаните по питанию, что бы наверняка и посмотрим
что же, действительно, после сей процедуры с копфуктером ничего не сохранилось
Как же тогда быть? менять вариант сохранения данных? тогда какой лучше?
Конечно можно оставить так как есть, но вдруг пользователь телефона захочет завершить работу приложения, т.к. например занимает память, что у него тогда весь прогресс потеряется!? или вообще угробит телефон например...
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.09.2016, 14:11
Цитата Сообщение от Nike Jagger Посмотреть сообщение
менять вариант сохранения данных?
а это не поможет...

Цитата Сообщение от Nike Jagger Посмотреть сообщение
но вдруг пользователь телефона захочет завершить работу приложения
если он сделает это через штаное завершение, а не откроет "диспетчер" и грохнит - тогда все ок... по поводу угробит телефон и т.п. - так от этого вообще страховки нет, как вариант иметь хранилище "в облаке" ну или этих ваших интернетах и туда все писать, тогда да - есть шанс что-то "спасти". Ну а в целом обычно телодвижения примерно следующие - пользователь прошел до некого чекпоинта (уровень прошел или еще что-то сделал критически важное) - сохраните... тогда "потери" будут сравнительно минимальными.

ну или тупо - по таймеру :-)
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
23.09.2016, 00:51
Maxim Prishchepa, занимательная концепция получается.
Пробовал на событие OnApplicationQuit (метод юнити который срабатывает при выходе из приложения) повесить
C#
1
PlayerPrefs.Save();
Ничего не сохраняет. Если сделать отдельно кнопку для сохранения с таким же кодом тоже ничего не сохраняет.
А если сделать кнопку выхода с кодом
C#
1
2
PlayerPrefs.Save();
Application.Quit();
После остановки приложения все сохраняется.
Вот как быть? ведь немножко не удобно для пользователя что бы выйти из приложения и все сохранилось жать на какие-то кнопки...

Добавлено через 7 минут
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
по таймеру :-)
пробовал в методе Update прописать PlayerPrefs.Save(); - не работает к сожалению
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
23.09.2016, 09:24
если он сделает это через штаное завершение, а не откроет "диспетчер" и грохнит - тогда все ок...
Потому что диспетчер завершает через сигнал принудительного закрытия, а там никто приложение не спрашивает про методы закрытия (это же юникс, всё таки). А винда посылает сигнал "мягкого" завершения (кроме "Завершить дерево процессов" - там убивается всё как в юниксе, быстро и без спроса) - приложение закрывается через свои методы.
Используйте сохранение при сворачивании приложения - тогда при переключении в диспетчер приложение свернется и сохранится.
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
23.09.2016, 16:58
Цитата Сообщение от Cr0c Посмотреть сообщение
сохранение при сворачивании приложения
как отследить событие сворачивания приложения?
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
23.09.2016, 18:48
эм.... оно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.09.2016, 18:48
Помогаю со студенческими работами здесь

решение задачи в excel 2 скриншотами
Построить математическую модель задачи линейного программирования Нефтеперерабатывающий завод получает четыре полуфабриката: 400...

Как сделать сохранение?
как сделать сохранение всех сточек в текстовый файл для этой программы? подскажыте...

Как сделать сохранение
Есть программа для вот её задание (Постановка задачи. Составить программу для наблюдения за своевременной оплатой электроэнергии...

Как сделать сохранение в игре?
Недавно я решился попробовать создать RPG игру на C++ поскольку с языком у меня особых проблем нету, и мне захотелось поэксперементировать...

Как сделать запрет на сохранение?
Подскажите друзья! имеется дбгрид в нем 3 поля 1 из которых нельязя изменить мне нужно чтобы если одно из 2-х полей при добавлении или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru