Среда, 11 Декабря 2024, 23:11

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблемы с фоном
КомиссарДата: Четверг, 02 Мая 2013, 16:50 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Нашёл интересный пример кода, который делает снимок экрана и делает его задним фоном в "комнате" меню. Таким образом получается, что меню всплывает как бы "на фоне" происходящего в игре.

Немного видоизменив его и разделив на две части, сделал следующее:

object1 для комнаты r_space_zelon
Код
if keyboard_check_pressed(vk_space)
{
global.gamescreen = background_create_from_screen(0, 0, view_wview, view_hview, 0, 0); // Создаём скриншот экрана
room_goto(r_zelonmenu); // Переходим в меню
}

// Room creation code комнаты rm_menu (settings -> Creation code):
background_index[0] = global.gamescreen;
background_visible[0] = 1;


object2 для комнаты r_zelonmenu
Код

if keyboard_check_pressed(vk_enter)
{
background_delete(global.gamescreen);
room_goto(r_space_zelon);
}


Всё хорошо, но есть проблема: при удалении снимка экрана - фона в "комнате" меню, удаляется также и фон в "космической" комнате (виден только "чёрный фон", который на самом деле - пустота), хотя вроде бы удаляться должен был только фон-снимок.
Как решить эту проблему?


LunarPixelДата: Четверг, 02 Мая 2013, 16:58 | Сообщение # 2
старожил
Сейчас нет на сайте
Комиссар, ну у тебя наверно на background_index[0] задан изначальный фон в игре, и ты заменяешь его на снимок экрана.
попробуй написать:

background_index[1] = global.gamescreen;
background_visible[1] = 1;


КомиссарДата: Четверг, 02 Мая 2013, 17:05 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
LunarPixel, да, я тоже сначала так подумал, и поменял своё звёздное небо на индекс 1, но почему-то не сработало.
Сейчас ещё раз попробую.

Добавлено (02.05.2013, 17:05)
---------------------------------------------
Нет, это ничего не изменило.


LunarPixelДата: Четверг, 02 Мая 2013, 17:06 | Сообщение # 4
старожил
Сейчас нет на сайте
Комиссар, если так сделать, то, по идеи, снимок экрана будет не виден, он будет за звездным небом. Надо чтобы небо было на 0, а снимок на 1 и более. smile

LunarPixelДата: Четверг, 02 Мая 2013, 17:14 | Сообщение # 5
старожил
Сейчас нет на сайте
Хотя, вообще все должно работать правильно. Где-то видимо ошибочка, можно исходник посмотреть? smile

Или попробуй в коде комнаты r_space_zelon написать

background_index[0] = звездное небо;
background_visible[0] = 1;


КомиссарДата: Четверг, 02 Мая 2013, 17:14 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
LunarPixel, ну так это ж разные комнаты.
Я проверил, у меня звёздное небо на нулевом фоне стоит, Но на какой слой не ставь, по ходу команда удаляет все слои разом.


LunarPixelДата: Четверг, 02 Мая 2013, 17:20 | Сообщение # 7
старожил
Сейчас нет на сайте
Проверил, у меня все работает. Можешь ещё попробовать просто сделать так:

if keyboard_check_pressed(vk_enter)
{
background_visible[0] = 0;
room_goto(r_space_zelon);
}


КомиссарДата: Четверг, 02 Мая 2013, 17:28 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
LunarPixel, я тебе ссылку на исходник кинул, можешь посмотреть. wink

Добавлено (02.05.2013, 17:28)
---------------------------------------------
Ну, скриншоты удалять-то всё равно надо, а то будут тормозить систему.


LunarPixelДата: Четверг, 02 Мая 2013, 17:41 | Сообщение # 9
старожил
Сейчас нет на сайте
Отправил в ЛС smile

  • Страница 1 из 1
  • 1
Поиск:

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