Воскресенье, 22 Декабря 2024, 14:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сохранение скриншотов
MrSlapДата: Среда, 06 Мая 2015, 02:47 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Решил сделать сэйвы со скриншотами (по слотам). В игре - всё отлично работает, скриншотик грузится в слот. потом с него считываются все переменные.
Само сохранение происходит через ini файл. И проблема в том, что скриншоты исчезают после выхода из игры.
Не врубаюсь, как после add_sprite сохранить в игре эту картинку.

Сумбурно написал, наверное. В общем попробовал в ини записать, чему должна быть равна переменная спрайта скриншота. Ну и конечно, после перезапуска игры он не находит в переменной никакого скрина.
Есть способ вписать добавленный спрайт в игру? Может я опять проглазел что-либо в справке?


Создаю интерактивную повесть.
PoidetLiДата: Среда, 06 Мая 2015, 03:09 | Сообщение # 2
участник
Сейчас нет на сайте
Цитата MrSlap ()
скриншотик грузится в слот. потом с него считываются все переменные.

извращюга или перепутал сохранение и скриншотик?


в еюдуго прсхлуренц
http://gcup.ru/forum/9-44187-1 мой Project 96
MrSlapДата: Среда, 06 Мая 2015, 03:14 | Сообщение # 3
почетный гость
Сейчас нет на сайте
PoidetLi, сорян, как и в предыдущей теме, выложил вопрос, основательно всё не обдумав...
При запуске игры просто спрайт надо повторно добавлять, и тогда всё работает, как часы. =)

Добавлено (06 мая 2015, 03:14)
---------------------------------------------
PoidetLi, да и неправильно написал. Мол - скриншотик должен быть в слоте, а уже из слота считываются переменные... Всё это в draw нарисовал, чтобы оттедалться одним объектом create =) котороче не самый удобный кодец получается. Зато менюшка красивая )

Пора спать...


Создаю интерактивную повесть.
XDominatorДата: Среда, 06 Мая 2015, 09:32 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Новый спрайт в exe ты не запишешь, естественно что он у тебя исчезает после выхода biggrin

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


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
YellowAfterlifeДата: Среда, 06 Мая 2015, 10:15 | Сообщение # 5
Сейчас нет на сайте
Сохранять скриншот (screen_save) в файл, имя которого совпадает с именем слота сохранения (к примеру).
После (при загрузке сохранения) заменять спрайт\фон на скриншот с помощью sprite_replace/background_replace (чтобы не создавать утечек памяти при повторной загрузке сохранения).


MrSlapДата: Среда, 06 Мая 2015, 22:49 | Сообщение # 6
почетный гость
Сейчас нет на сайте
YellowAfterlife, а если я перед сохранением игры и загрузкой нового скриншота удаляю предыдущий спрайт
Код
if sprite[slot]!=spr_default_load
{sprite_delete(sprite[slot])};

А уже потом сохраняю скриншот и подгружаю его add_sprite'ом. Принцип работы тот же? Или есть причины, по которым sprite_replace эффективнее?


Создаю интерактивную повесть.
YellowAfterlifeДата: Среда, 06 Мая 2015, 23:30 | Сообщение # 7
Сейчас нет на сайте
Цитата MrSlap ()
Принцип работы тот же? Или есть причины, по которым sprite_replace эффективнее?

Принцип работы тот же. sprite_replace лишь немного удобнее тем, что он исключает вероятность случайного создания утечки памяти (поскольку заменяется один и тот же спрайт, а не создаются\удаляются новые).


MrSlapДата: Пятница, 08 Мая 2015, 21:02 | Сообщение # 8
почетный гость
Сейчас нет на сайте
YellowAfterlife, понятно, благодарю. Хоть и постоянно втыкаю в справку GMS, а многие вещи всё-равно как-то мимо проскальзывают. И не всегда всё понятно =)

Добавлено (08 мая 2015, 21:02)
---------------------------------------------
YellowAfterlife, ещё такой вопрос, при добавлении тайлов в комнату, код screen_save начал выполняться довольно долго. Есть способ избежать этой проблемы?


Создаю интерактивную повесть.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг