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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Уже давно всем надоевший вопрос о паузе
OverdraveДата: Пятница, 18 Октября 2013, 18:12 | Сообщение # 1
частый гость
Сейчас нет на сайте
Пауза в моей игре выглядит так:
Игрок нажимает на шифт и все объекты в комнате зависают, посередине появляется полупрозрачная менюшка с надписью "пауза". Стрелочками игрок может выбрать нужный ему пункт меню.
После давнешнего обновления команда, отвечающая за "фриз" объектов была заменена (всё было построено на deactivate'ах и create_sprite_from_screen'ах) на create_sprite_from_surface.
Сурвейсы уже давно не могу освоить, поэтому очень прошу вашей помощи.
ErrantBugДата: Пятница, 18 Октября 2013, 19:03 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Overdrave, старый народный способ. Вроде бы работало и работает по сей день:

Код
back=background_create_from_screen(0,0,view_wview[0],view_hview[0],0,0); //скрин экрана, перед "заморозкой"
instance_deactivate_all(true); //заморозка


Ну и далее в событии Draw отрисовываем фон back, дорисовываем "паузу" и радуемся жизни happy

P.S. А... Ты про Game Maker Studio? Я сразу и не понял, сорь. Попробуй так:
Код
sf=surface_create(room_width,room_height);

surface_set_target(sf);

bg=background_create_from_surface(sf,0,0,660,520,0,1)




Сообщение отредактировал ErrantBug - Пятница, 18 Октября 2013, 19:24
OverdraveДата: Воскресенье, 29 Декабря 2013, 22:20 | Сообщение # 3
частый гость
Сейчас нет на сайте
Всё сделал следующим образом:
В объекты Pause эвент CREATE
Код
surf = surface_create(view_xview+640,view_yview+480);
surface_set_target(surf);
draw_clear_alpha(c_black,0);
with(all)   
{
if (visible == true)
{
event_perform(ev_draw,0);  
}   
}  
surface_reset_target();

instance_deactivate_all(true);


В итоге ничего не получилось, поэтому я добавил игроку событие Draw и вбил ему всего лишь "Draw_self()". Когда я запустил игру и нажал на паузу, появилось не только окно паузы и тайтлы, но отрисовался спрайт игрока! Я на радостях добавил событие Draw каждому из сотни своих объектов, вставляя "Draw_self()". Знаете, какая злость меня взяла, когда после всего этого НИЧЕГО не изменилось? Отрисовывался один лишь спрайт паузы, тайтлы и игрок... А ведь в нём не было, по-моему ничего особенного.
Следующим этапом я решил проверить, вдруг дело в количестве операций отрисовки, поэтому я создал ещё один объект игрока. Оба отрисовывались прекрасно.
Расскажите мне, дураку, почему не отрисовываются другие объекты?
  • Страница 1 из 1
  • 1
Поиск:

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