| 
				
				Игровая пауза
				 |   |  
| FadeBaker | Дата: Среда, 06 Апреля 2011, 15:57 | Сообщение # 1 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | Всем привет! Мне бы очень хотелось бы сделать паузу в игре таким образом:   1. В игре при нажатии на <Escape> игра переходила в комнату паузы (в комнате паузы должны быть такие кнопки: "Загрузить игру", "Продолжить", "Выход")   2. Потом, чтоб при нажатии в комнате паузы на кнопку "Продолжить" игра продолжилась в той комнате и с того места, где была нажата <Escape>   Надеюсь, Вы меня поняли.   Заранее большое спасибо!! Кто поможет - + в репу    P.S: комнат в игре несколько 
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| Lgunchik | Дата: Среда, 06 Апреля 2011, 17:03 | Сообщение # 2 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Ставишь галочку на 1 уровне "Постоянный"   потом переходишь в код не посредственно самой комнаты   Code global.level = r_level_1     создаёшь переменную global.level и присваиваешь ей значение r_level_1 (название комнаты)   ________________________________________________   Создаёшь объект и в событии нажатия Esc пишешь код  (r_menu - название комнаты меню)   А при нажатии "продолжить" пишешь код Code room_goto(global.level)     вот и всё!!!
  >
 
 Сообщение отредактировал Lgunchik - Среда, 06 Апреля 2011, 17:03  |  
| 
 | 
 |    |  
| Robin_Locksley | Дата: Среда, 06 Апреля 2011, 17:15 | Сообщение # 3 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Quote (Lgunchik) в комнате паузы должны быть такие кнопки: "Загрузить игру", "Продолжить", "Выход"     Is it mean something? Там же еще и фоновая картинка должна быть, и курсор... про них забыл написать?
 |  
| 
 | 
 |    |  
| GameMix | Дата: Среда, 06 Апреля 2011, 17:50 | Сообщение # 4 |  
 
старожил 
Сейчас нет на сайте 
 
 | vasyan555, обязательно ли использовать переход в комнату? Ведь можно в этой же комнате деактивировать ненужные объекты - (instance_deactivate_all(true) - true в скобках означает, что объект, в котором написана эта функция, остается активным. Иначе можно использовать false) и создать объекты меню (Продолжить, Выход и т.д...). Затем, при нажатии <Escape> активировать все объекты в комнате и удалить объекты меню.
  Steel Standoff - 2D аркада.   Мои статьи
 
 Сообщение отредактировал аТнОтХоАн - Среда, 06 Апреля 2011, 17:52  |  
| 
 | 
 |    |  
| FadeBaker | Дата: Среда, 06 Апреля 2011, 18:05 | Сообщение # 5 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | Lgunchik, Спасибо тебе ОГРОМНОЕ, всё работает! Чтобы я без тебя делал) Вот, держи + как и обещал! Добавлено (06.04.2011, 18:05) --------------------------------------------- аТнОтХоАн, хех, можно конечно и так сделать, тоже классный вариант, просто во всех современных играх пауза осуществленна как бы при переходе в "другую комнату" и пр и нажатии на кнопку игра продолжается. Но твой вариант я всё таки попробую, возможно именно так я сделаю систему прокачки оружия, посредством нажатия на кнопки для повышения навыков оружия)) 
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| GameMix | Дата: Среда, 06 Апреля 2011, 18:20 | Сообщение # 6 |  
 
старожил 
Сейчас нет на сайте 
 
 | vasyan555, и всё-таки, если тебе нужно отобразить только надписи (Продолжить, Выход и т.л...) и тебя не устраивает видимость фона, тогда можно просто во время паузы рисовать фон меню на всю комнату, а когда пауза отключена не рисовать. Конечно, если нужно именно меню, а не опции. Дело твое, но комнатами, думаю, злоупотреблять не стоит.  
  Steel Standoff - 2D аркада.   Мои статьи
 |  
| 
 | 
 |    |  
| TheApKoT | Дата: Среда, 06 Апреля 2011, 18:35 | Сообщение # 7 |  
 
GML ProgrammeR 
Сейчас нет на сайте 
 
 | Quote (аТнОтХоАн) instance_deactivate_all(true)     Ты немного ошибся. Деактивированные объекты не выполняют никакие функции, в том числе, рисование собственных спрайтов.
  Посоветуйте, где скачать VB6 :C    
 |  
| 
 | 
 |    |  
| Robin_Locksley | Дата: Среда, 06 Апреля 2011, 18:43 | Сообщение # 8 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Деактивированные нет, но один обьект (который notme - true) все таки остается активным  
 |  
| 
 | 
 |    |  
| TheApKoT | Дата: Среда, 06 Апреля 2011, 20:01 | Сообщение # 9 |  
 
GML ProgrammeR 
Сейчас нет на сайте 
 
 | Robin_Locksley, да, поэтому, если нужно использовать этот способ, придется все спрайты рисовать через этот объект.
  Посоветуйте, где скачать VB6 :C    
 |  
| 
 | 
 |    |  
| Robin_Locksley | Дата: Среда, 06 Апреля 2011, 20:06 | Сообщение # 10 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Quote (Apelsinoviy_kot) Robin_Locksley, да, поэтому, если нужно использовать этот способ, придется все спрайты рисовать через этот объект.      Достаточно нарисовать через него сего один сурфейс со снимком экрана.
 |  
| 
 | 
 |    |  
| FadeBaker | Дата: Среда, 06 Апреля 2011, 21:56 | Сообщение # 11 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | Ещё вопросик: как в меню паузы сделать функцию "Сохранить игру" (ту игру, в которой мы нажимали на <Esc>) нажатием на соответствующую кнопку ?
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| B@rney | Дата: Четверг, 07 Апреля 2011, 09:06 | Сообщение # 12 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | vasyan555 сделай так - при нажатии на объект сохранения (спрайт подставь) мы переходим в ту комнату которую тебе нужно, деактивируешь все объекты и сохраняешь игру, после сохранения сделай переход в меню паузы через определенное время (используй alarm)
  Правильного решения порой нет, но лучшее решение есть всегда.
 
 Сообщение отредактировал B@rny - Четверг, 07 Апреля 2011, 09:06  |  
| 
 | 
 |    |  
| GameMix | Дата: Четверг, 07 Апреля 2011, 09:07 | Сообщение # 13 |  
 
старожил 
Сейчас нет на сайте 
 
 | Quote (Apelsinoviy_kot) да, поэтому, если нужно использовать этот способ, придется все спрайты рисовать через этот объект.      Зачем? Через объект, который деактивирует все объекты в комнате нужно рисовать только фон паузы. Но если после деактивации создавать объекты - "Выход", "Продолжить"... спрайты у них отображаться будут и без посторонних объектов.    К примеру:   Control - объект, который всегда находится в комнате и деактивирует/активирует другие объекты;   Obj_Pause - объект, который создается с вызовом паузы, и, соответственно, уничтожается при продолжении игры;   object1, object2 - другие объекты, которые будут деактивированы;   И некоторое для оформления (необязательно):   back1 - фон меню, который будет отображен при вызове паузы;   menu_sound - музыка меню.   Действия:   Control   Событие нажатия клавиши <Escape>:    Code if instance_number(Obj_Pause) < 1 then {instance_deactivate_all(true); instance_create(100,200,object0)}   // проверка нужна, чтобы не вызывать паузу, если она уже вызвана   // если выражение - истина, создается кнопка продолжить (Obj_Pause)    Событие рисования:    Code if instance_number(Obj_Pause) = 1 // Если объект кнопки меню был создан, рисуем фон.   then   draw_background(back1,0,0);    Obj_Pause   Событие создания:    Code sound_play(menu_sound) // запускаем музыку меню    Событие нажатия левой кнопки мыши:    Code instance_activate_all(); //активация всех деактивированных объектов   instance_destroy(); //самоуничтожение, т.к. пауза отключена (игра продолжается)    Событие уничтожения ("Destroy"):    Code sound_stop(menu_sound) // останавливаем музыку меню    В объектах object1 и object2 никаких действий нет, т.к. они просто для теста.   Ставим в комнату 1 образец объекта Control и несколько образцов объектов object1 и object2. И всё!   
  Steel Standoff - 2D аркада.   Мои статьи
 
 Сообщение отредактировал аТнОтХоАн - Четверг, 07 Апреля 2011, 09:18  |  
| 
 | 
 |    |  
| FadeBaker | Дата: Четверг, 07 Апреля 2011, 10:45 | Сообщение # 14 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | аТнОтХоАн, всё разжевал и по полочкам разложил! Спасибо, буду пробовать! А пока покажу, как я сделал паузу (По способу Lgunchik)   В комнате поставил Persistent и в Creation code прописал:       Далее в степе игрока прописал код:   Code if keyboard_check_pressed(vk_escape) {      room_goto(menu_pause)      }     Дальше у кнопки "Продолжить" в Create прописал:   Code image_index = 0   image_speed = 0     (Спрайт кнопки состоит из двух кадров: спрайт при наводке и когда курсор покидает область кнопки)   Потом в событии Mouse Enter:      В Mouse Leave:      И наконец в Left Button:   Code room_goto(global.map)    Вот собственно и всё:) Ещё раз отдельное спасибо Лгунчику и всем, кто откликнулся в этой теме!! 
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| GameMix | Дата: Четверг, 07 Апреля 2011, 11:01 | Сообщение # 15 |  
 
старожил 
Сейчас нет на сайте 
 
 | Quote (vasyan555) image_index = 0   image_speed = 0     Так, к слову: (image_index = 0) + (image_speed = 0) = (image_single = 0)
  Steel Standoff - 2D аркада.   Мои статьи
 |  
| 
 | 
 |    |  
| FadeBaker | Дата: Четверг, 07 Апреля 2011, 11:22 | Сообщение # 16 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | аТнОтХоАн, Quote (аТнОтХоАн) Так, к слову: (image_index = 0) + (image_speed = 0) = (image_single = 0)     Если честно, нифига не понял , разъясни, если не трудно:)
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| GameMix | Дата: Четверг, 07 Апреля 2011, 14:06 | Сообщение # 17 |  
 
старожил 
Сейчас нет на сайте 
 
 | image_single - это встроенная переменная, о которой просто не написано в справке.   image_single = (здесь номер кадра спрайта, как в image_index). Только здесь скорость смены кадров (image_speed) указывать не нужно, т.к. устанавливается автоматически: 0. Очень удобно, когда нужно отобразить только один кадр спрайта.   
  Steel Standoff - 2D аркада.   Мои статьи
 |  
| 
 | 
 |    |  
| FadeBaker | Дата: Четверг, 07 Апреля 2011, 15:28 | Сообщение # 18 |  
| 
 JavaSE Game Developer 
Сейчас нет на сайте 
 
 | аТнОтХоАн, Ок, спасибо братан, буду теперь знать!  
  Уроки по GM     Minecraft 2D на GM     — Мои проекты —     Blood Harvest [2D] — Original     Blood Harvest [2D]: Remastered Edition     Adventure Craft [2D] — Sandbox     Space Shock [2D] — Scroll Shooter     Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
 |  
| 
 | 
 |    |  
| NeZnayu | Дата: Четверг, 07 Апреля 2011, 22:56 | Сообщение # 19 |  
| 
 __танцуй!__ 
Сейчас нет на сайте 
 
 | Можно просто сохранить игру при нажатии на Escape и перейти в комнату меню, при нажатии "продолжить" загрузить сохранение.
  CombatForce - 2d TDS долгожданный релиз   Noobster - самый простой конструктор игр в мире   LaLaLaLAMA! - игра не про Ламу
 |  
| 
 | 
 |    |     
		
		 
 |