Проблемы с фоном
|
|
Комиссар | Дата: Четверг, 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 и более.
|
|
| |
LunarPixel | Дата: Четверг, 02 Мая 2013, 17:14 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Хотя, вообще все должно работать правильно. Где-то видимо ошибочка, можно исходник посмотреть?
Или попробуй в коде комнаты 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, я тебе ссылку на исходник кинул, можешь посмотреть. Добавлено (02.05.2013, 17:28) --------------------------------------------- Ну, скриншоты удалять-то всё равно надо, а то будут тормозить систему.
|
|
| |
LunarPixel | Дата: Четверг, 02 Мая 2013, 17:41 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Отправил в ЛС
|
|
| |