Суббота, 14 Декабря 2024, 10:53

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
oldtheme1
Volk16Дата: Среда, 27 Июля 2016, 22:03 | Сообщение # 1
частый гость
Сейчас нет на сайте
///

Сообщение отредактировал Volk16 - Среда, 20 Декабря 2017, 21:19
bodya_WMДата: Среда, 27 Июля 2016, 22:10 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Boolean IsPaused.
И в Draw:
Код
if IsPaused then
  DrawMenu()
else
  DrawGame()
end;


Разработчик игрового движка WaveGameEnvironment2D
Volk16Дата: Среда, 27 Июля 2016, 22:13 | Сообщение # 3
частый гость
Сейчас нет на сайте
bodya_WM, что это?
bodya_WMДата: Среда, 27 Июля 2016, 22:21 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Создаёте переменную:
Код

IsPaused = false

в Draw
Код

if IsPaused then
  // Рисуем меню
else
  // Рисуем игру
end


Разработчик игрового движка WaveGameEnvironment2D
Volk16Дата: Четверг, 28 Июля 2016, 09:57 | Сообщение # 5
частый гость
Сейчас нет на сайте
bodya_WM, мне не нужно рисовать меню, оно уже есть. Мне нужна пауза, что бы игра останавливалась.
bodya_WMДата: Четверг, 28 Июля 2016, 10:18 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Создаёте переменную:
Код

Код
IsPaused = false


в Step
Код

Код
if not IsPaused then
  // Обновляем мир
end

Добавлено (28 июля 2016, 10:18)
---------------------------------------------
Ещё можно сделать машину состояний, и рисовать всё в зависимости от состояния. Так целую игру можно в одну комнату уложить. Но это уже из области извращенного кодинга :)


Разработчик игрового движка WaveGameEnvironment2D

Сообщение отредактировал bodya_WM - Четверг, 28 Июля 2016, 10:10
Volk16Дата: Четверг, 28 Июля 2016, 12:25 | Сообщение # 7
частый гость
Сейчас нет на сайте
bodya_WM, я ничего не понял. В шапке темы есть исходник, покажи на нем, как сделать ПАУЗУ.
bodya_WMДата: Четверг, 28 Июля 2016, 12:52 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Хорошо.

Добавлено (28 июля 2016, 12:52)
---------------------------------------------
Объясняю.
Если игра на паузе то останавливаем всю обработку событий в мире.
К примеру:

Код
if isWorldProcess then
begin
  if keyboard_check(vk_return) then
  begin
     x += 10;
  end
end


Разработчик игрового движка WaveGameEnvironment2D
Volk16Дата: Четверг, 28 Июля 2016, 14:02 | Сообщение # 9
частый гость
Сейчас нет на сайте
bodya_WM, бред какой-то. Мне бы реальную помощь..

Сообщение отредактировал Volk16 - Четверг, 28 Июля 2016, 14:03
LightsoftДата: Четверг, 28 Июля 2016, 15:51 | Сообщение # 10
частый гость
Сейчас нет на сайте
Volk16, человек объясняет, что когда вы открываете меню, то таймер отвечающий за обновления всех процессов игрового мира останавливается и обрабатывает меню.
У любой игры есть таймер, который выполняет рендер, обновляет физику и т.д.
Чтобы сделать паузу, вы должны остановить эти обновляемые процессы.
P.S. За вас бесплатно никто не будет править ваш исходный код. Вам дали только алгоритм действий.
TLTДата: Четверг, 28 Июля 2016, 17:35 | Сообщение # 11
Сейчас нет на сайте
Можно просто делать сейв и переводить в другую комнату. А возврад - загрузка сейва. Самое простое.

Дао, выраженное словами, не есть истинное Дао.
bodya_WMДата: Четверг, 28 Июля 2016, 18:12 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Цитата
бред какой-то. Мне бы реальную помощь..

я не собираюсь за вас писать код, я привёл вам пример, разбирайтесь.

Добавлено (28 июля 2016, 18:12)
---------------------------------------------

Цитата
Можно просто делать сейв и переводить в другую комнату. А возврад - загрузка сейва. Самое простое.

Тоже вариант. Пусть и велосипедный.


Разработчик игрового движка WaveGameEnvironment2D
Volk16Дата: Четверг, 28 Июля 2016, 21:14 | Сообщение # 13
частый гость
Сейчас нет на сайте
Работает, вот круто теперь. Отлично спасибо Lightsoft, и остальным немного.
bodya_WMДата: Четверг, 28 Июля 2016, 21:22 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Спасибо можно сказать поставили плюс в репутацию.

Разработчик игрового движка WaveGameEnvironment2D
URGINSANДата: Четверг, 28 Июля 2016, 21:38 | Сообщение # 15
почти ветеран
Сейчас нет на сайте
Пауза как я помню делалась сурфейсом поверх игрового окна и еще одной командой. Не помню уже какой. Надо просто на сайтах по гм скачать пример паузы и все.

Я на драйве
bodya_WMДата: Четверг, 28 Июля 2016, 21:50 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Цитата
Пауза как я помню делалась сурфейсом поверх игрового окна и еще одной командой. Не помню уже какой. Надо просто на сайтах по гм скачать пример паузы и все.

Зачем таким извращением? Boolean хватит.


Разработчик игрового движка WaveGameEnvironment2D
creeper003Дата: Понедельник, 08 Августа 2016, 00:22 | Сообщение # 17
был не раз
Сейчас нет на сайте
Вообще по феншую это делается так.
1 Создаем сурфейс
2 Перерисовываем туда весь экран
3 Создаем объект menu, в котором уже реализованы кнопки типа выход/играть
4 в событии draw menu рисуем сурфейс
5 В событии create menu пишем
instance_deactivate_object(other)
6 В событии destroy соответственно
instance_activate_object(other)
  • Страница 1 из 1
  • 1
Поиск:

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